是否有可能从dataContext的触发器值中获取值?

时间:2019-06-06 17:42:44

标签: c# wpf datatrigger

我有一个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或其他方式。

谢谢。

0 个答案:

没有答案