WPF Visibilité d'un élément d'interface utilisateur basé sur la sélection de combo
En essayant de montrer une étiquette que lorsqu'un certain élément dans une liste modifiable est sélectionné. Code devrait assez bien l'expliquer.
<ComboBox Name="comboMyCombo">
<ComboBoxItem>Don't show the label</ComboBoxItem>
<ComboBoxItem>Show the label</ComboBoxItem>
</ComboBox>
<Label Visibility="Collapsed">This is my label
<Label.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=comboMyCombo, Path=SelectedValue}" Value="Show the label">
<Setter Property="Label.Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
source d'informationauteur tim
Vous devez vous connecter pour publier un commentaire.
Il y a deux problèmes ici. D'abord le défaut de visibilité doivent être spécifiées dans le style. Mais même avec ça, ça ne marchera pas parce que la liaison sur le déclencheur, c'est la comparaison d'une SelectedValue, un ComboBoxItem objet avec un objet de type string et qui ne sera jamais équivalent. Pour garder l'exemple simple, j'ai placé les valeurs appropriées dans les ComboBoxItem de propriétés de la Balise. Bien que la mise en œuvre effective de la comparaison sera susceptible de varier en fonction des besoins spécifiques de l'application.
Un "nettoyeur" la solution serait