2010-12-21 3 views
3

J'ai un contrôle WPF (le ICSharpCode.AvalonEdit.TextEditor) dans un projet Winforms dans un ElementHost. J'ai confirmé avec le débogueur que TextEditor est défini comme l'enfant de ElementHost et que toutes ses propriétés sont définies correctement, il est juste invisible et impossible d'interagir avec (comme si vous aviez défini la propriété IsVisible faux). L'ElementHost apparaît, et je peux interagir avec cela, mais c'est plutôt que le contrôle enfant n'est pas visible. J'ai vérifié que les propriétés Visiblity et IsVisible de TextEditor sont telles qu'elles devraient être.Le contrôle WPF dans ElementHost est invisible

Je n'ai jamais réellement écrit une application WPF, alors essayez des suggestions aussi simples que cela puisse signifier que mon contrôle WPF est invisible. Cela peut être lié à ElementHost, au contrôle lui-même ou à un comportement AvalonEdit spécifique.

Des suggestions?

+0

J'ai essayé d'avoir le même problème que vous. J'ai créé une nouvelle application Winforms et ajouté HostElement dans le formulaire. Dans le code derrière j'ai écrit TextEditor te = new TextEditor(); this.elementHost1.Child = te; Et cela fonctionne –

+0

Avez-vous défini une largeur et une hauteur ou défini VerticalAlignment et HorizontalAlignment sur le contrôle wpf? –

+0

L'alignement vertical et horizontal sont tous les deux réglés sur Strech, mais la largeur et la hauteur sont définies sur NaN (lol). Comment est-ce arrivé? Comment est-ce que je fais redimensionner la TextBox pour adapter le ElementHost? – Miguel

Répondre

0

Il se trouve que je mettais cette propriété de marge du TextEditor à un nombre beaucoup trop élevé comme ceci:

TextEditor.Margin = 1000; 

Et cette marge couvrait tout le contrôle.

Questions connexes