我有一个combox,并且仅当其属性值与视图模型中的属性值相同时才显示该项目。
我可以这样:
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=thisComboBox, Path=SelectedItem.MyItemValue}" Value="2">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.ItemContainerStyle>
但是在这种情况下,我是手动设置值,所以我想知道是否有某种方法可以从数据上下文中获取值。
我知道我可以使用转换器,但是我想知道是否有某种方法可以不用转换器。
类似这样的东西:
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=thisComboBox, Path=SelectedItem.MyItemValue}" Value="{Binding XXXX}">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.ItemContainerStyle>
但是我知道我不能在值中使用绑定,但是也许我可以使用RelativeSource或其他方式。
谢谢。