设置组合框项目的项目可见性,以比较源属性和视图模型中的属性?

时间:2018-08-09 11:23:17

标签: c# wpf mvvm

我有一个组合框,其中的源使用MyType类型。是这个吗?

class MyType
{
    long ID;
    string Description;
    long IDCategory;
}

在我的视图模型中,我有一个属性IDCategory,所以我想在组合框中仅显示IDCategory与视图模型的属性IDCategory相同的项目。

我正在尝试类似的事情:

<ComboBox.ItemContainerStyle>
    <Style TargetType="ComboBoxItem">
        <Setter Property="Visibility" Value="Collapsed"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding IDCategory}" Value="{Binding ElementName=ucPrincipal, Path=DataContext.IDCategory}">
                <Setter Property="Visibility" Value="Visible"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ComboBox.ItemContainerStyle>

问题在于,在值中,我不允许使用绑定,因为不允许这样做。

我想知道没有转换器怎么办,我希望有一个数据触发器或多数据触发器的解决方案,或者可以在xaml中实现的任何其他解决方案。

0 个答案:

没有答案