2010-06-04 4 views
0

Je travaille avec une case à cocher personnalisée, et j'essaye de placer le contenu à un WPF Viewbox. Le problème est, simplement, rien n'est affiché. La case à cocher apparaît et fonctionne, mais elle n'a aucun contenu. Ceci est un exemple de code (pas le code réel) de ce que j'essaie de faire.WPF Checkbox n'affiche pas un UIElement comme son contenu

MyCheckbox myCheckbox = new MyCheckbox(); 

Viewbox viewbox = new Viewbox(); 
viewbox.Height = 20; 
viewbox.Width = 20; 

Label label = new Label(); 
label.Content = "Test"; 

viewbox.Child = label; 
myCheckbox.Content = viewbox; 

La propriété Content accepte un objet, donc il à un Viewbox réglage est pas de problème, et le ContentPresenter peut afficher un UIElement. Je pensais que le ContentPresenter ne pouvait peut-être pas afficher l'étiquette contenue dans la Viewbox, j'ai donc créé du code de test, en définissant le contenu de la case à cocher dans un simple rectangle. Toujours rien.

Des idées ou des idées? Merci de votre aide!

Oh - Le réglage de la propriété Content à une chaîne fonctionne.

Répondre

1

Vous devrez peut-être afficher le code XAML de votre code personnalisé CheckBox. Vérifiez le ControlTemplate a un ContentPresenter et que si vous avez un ContentTemplate qu'il n'interfère pas. Vous pouvez voir un exemple de modèle here.

Si vous voulez juste changer l'apparence d'un CheckBox, vous pouvez re-modèle standard sans l'CheckBox écrire une classe personnalisée.

+0

Merci pour votre aide. Je n'ai pas écrit le CheckBox personnalisé, et je ne savais pas qu'ils avaient supprimé le ContentPresenter, le remplaçant par un TextBlock. Je doute que j'aurais pensé à vérifier. Merci encore! – Quentamia

Questions connexes