我想将布尔值,对象列表和枚举值绑定到组合框。根据数据网格的列弹出一个对话框,我加载一个对象列表(Object1.Name .... ObjectN.Name是Names,ObjectId1..ObjectIdN是Id的),我加载一个EnumValue列表(EnumItem1..EnumItemN是Names,EnumValue1 .. EnumValueN是Id's),或布尔值(是/否是名称,0/1是Id)。
我该怎么办?我需要在我的ViewModel中为我的组合框实现一个包装类吗? (此包装类将获取对象列表,列出是/否为布尔值,枚举值列表)。
答案 0 :(得分:2)
<Style Target={x:Type ComboBox}>
<Style.Triggers>
<DataTrigger Binding="{Path=RowData.Row.PropertyToBeChecked}" Value="Value1">
<Setter Property="DataSource" Value="{Binding Path=ListCorrespondingToValue1}"/>
</DataTrigger>
<DataTrigger Binding="{Path=RowData.Row.PropertyToBeChecked}" Value="Value2">
<Setter Property="DataSource" Value="{Binding Path=ListCorrespondingToValue2}"/>
</DataTrigger>
</Style.Triggers>
</Style>
答案 1 :(得分:1)
好吧,对我来说,我认为你可以通过一个触发器来实现你的目标,你可以在其中设置组合框的dataSource。它看起来像
<Style Target={x:Type ComboBox}>