如何在silverlight4中获得组合框的数据模板内的控件

时间:2013-01-11 17:22:11

标签: silverlight silverlight-4.0 silverlight-3.0 silverlight-5.0

我在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>

请帮帮我们。

谢谢,

1 个答案:

答案 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>

此外,您必须设置容器控件的DataContextComboBox,以便控件可以使用这些属性访问对象。

这样做意味着您可以在控件或窗口的代码隐藏中使用更少的代码,只需更新控件即可进行管道工作。

如果您需要更多示例,请与我们联系......