Попытка показать маркировку только, когда определенный объект в комбинации выбран. Код должен в значительной степени объяснить это.
<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>
Здесь есть две проблемы. Во-первых, видимость по умолчанию должна быть указана в стиле. Но даже с этим он не будет работать, потому что привязка на триггере сравнивает SelectedValue, объект ComboBoxItem с объектом string, а это никогда не будет эквивалентно. Чтобы упростить пример, я поместил соответствующие значения в свойства Tag объекта ComboBoxItem. Хотя фактическая реализация сравнения, вероятно, будет варьироваться в зависимости от конкретных потребностей приложения.
<ComboBox Name="comboMyCombo">
<ComboBoxItem Tag="Hide">Don't show the label</ComboBoxItem>
<ComboBoxItem Tag="Show">Show the label</ComboBoxItem>
</ComboBox>
<Label>This is my label
<Label.Style>
<Style>
<Setter Property="Label.Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=comboMyCombo, Path=SelectedItem.Tag}" Value="Show">
<Setter Property="Label.Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>