我有一个带复选框的组合框,我想实现全选选项。我在 XAML 中按以下方式执行此操作:
<ComboBox Text="Select Industry" TextSearch.TextPath ="Industry" Name="industry" IsEditable="True" IsReadOnly="True" >
<ComboBox.ItemsSource>
<CompositeCollection>
<ComboBoxItem>
<CheckBox x:Name="allIndustry">All</CheckBox>
</ComboBoxItem>
<CollectionContainer Collection="{Binding Source={StaticResource industrySource}}"/>
</CompositeCollection>
</ComboBox.ItemsSource>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Name="industry" IsChecked="{Binding ElementName=allIndustry, Path=IsChecked, Mode=OneWay}" Content="{Binding Industry}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我使用上面的代码在视图中获得了这个功能:
但是,这里的问题是我曾经绑定 ViewModel 属性 IsChecked 的 IsChecked ComboBox 属性,而实施此解决方案时我失去了此功能。
我想移动线
IsChecked="{Binding ElementName=allIndustry, Path=IsChecked, Mode=OneWay}"
进入
<ComboBoxItem>
<CheckBox x:Name="allIndustry">All</CheckBox>
</ComboBoxItem>
将绑定更改为 OneWayToSource,并从x:Name="allIndustry" CheckBox 中的 My Selected Items更新。
我应该只能从 XAML 视图中执行此操作...
之后,我将我的 ComboBox 绑定到 ViewModel 属性......
慕少森
缥缈止盈
相关分类