我在silverlight4中的combobox数据模板中有一个复选框。现在我想在combobox上的selectedindex更改事件中获取复选框。那我该怎么做呢?
这是我的代码:
<ComboBox Height="Auto" x:Name="CB_Categories" SelectionChanged="CB_Categories_SelectionChanged" Tag="">
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="False" Content="{Binding Name}" CommandParameter="{Binding ProductCategoryID}" Click="CheckBox_Click" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
请帮帮我们。
谢谢,
答案 0 :(得分:1)
虽然可以这样做,但您可能最好只将想要调查或更改的checkbox属性绑定到后台视图模型或控制器中的值。
E.g。如果您要将IsChecked
更改为true,请尝试以下操作:
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" Content="{Binding Description}" />
然后,您使用ComboBox
属性将ItemsSource
连接到项目列表:
<ComboBox ItemsSource="{Binding Options}">
<ComboBox.ItemTemplate>
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" Content="{Binding Description}" />
</ComboBox.ItemTemplate>
</ComboBox>
此外,您必须设置容器控件的DataContext
或ComboBox
,以便控件可以使用这些属性访问对象。
这样做意味着您可以在控件或窗口的代码隐藏中使用更少的代码,只需更新控件即可进行管道工作。
如果您需要更多示例,请与我们联系......