Changer le contenu d'un bouton dans un style?
Je suis en train de faire quelque chose de similaire à ceci:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Content"
Value="No mouse over" />
<Style.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter Property="Content">
<Setter.Value>
<CheckBox Content="Mouse is over" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Grid>
</Window>
Cependant, je reçois un run-time XamlParseException avec un message d':
Ne peut pas ajouter de contenu de type
'Système.De Windows.Les contrôles.La case à cocher à
un objet de type 'System.L'objet".
Erreur à l'objet
'Système.De Windows.Les contrôles.Case
Je suis en train d'essayer de dessiner des icônes différentes pour le contenu du bouton selon les conditions extérieures. Donc, je suis en train d'essayer d'utiliser un DataTrigger, mais l'exemple ci-dessus simplifie le problème. Des idées?
source d'informationauteur Thrash505
Vous devez vous connecter pour publier un commentaire.
L'erreur se produit parce que les Visuels ne peuvent pas être directement défini comme un Setter de la valeur.
Vous pouvez obtenir le comportement que vous êtes à la recherche pour que, par la définition de la ContentTemplate à l'aide d'un DataTemplate, ou par la création de votre contenu comme une ressource, que ce soit spécifique à la touche ou se trouve ailleurs.
REMARQUE! Exactement votre exemple, travaille dans .NET Framework 4 sans aucun changement !!!!
Si vous êtes un style générique pour être utilisé par des boutons tout autour de votre application, vous obtiendrez arborescence visuelle conflits à l'aide de l'approche où l'image est une ressource. Si le modèle est votre seul choix dans ce cas.
AVERTISSEMENT: Cela peut ne pas être la meilleure ou la façon correcte de le faire. Assurez-vous de lire les autres réponses sur cette page.
Assez sûr que vous voulez utiliser un modèle de contrôle dans ce genre de situation. Quelque chose comme:
Et ajouter un modèle de contrôle de la gâchette pour le vol stationnaire.
Voici un bon lien