在运行时检索WPF控件状态(复选框等)

时间:2010-12-20 05:05:01

标签: silverlight windows-phone-7

我有一个简单的Windows Phone 7项目,我没有使用MVVM。 我有一组复选框和一些其他控件来确定UI中的某些状态。让我们说检查一个复选框,我得到一个事件,我有一些代码,并想知道其中的其他复选框和元素的状态。没有MVVM,这可能吗? root visual不会给我主UI类(在main.xaml中启动),所以似乎无法找到其他对等控件。

假设我有一个带有复选框的列表框,它们将xml数据绑定到Name元素。

<DataTemplate x:Key="myTemplate">
    <StackPanel Orientation="Horizontal">
       <CheckBox Name="chkBox" Checked="chkBox_Checked" Tag="{Binding name}">
            <TextBlock Text="{Binding name}" FontSize="16" />
       </CheckBox>
    </StackPanel>
</DataTemplate>

这在列表中使用

<ListBox x:Name="lst" SelectionMode="Single" ItemTemplate="{StaticResource myTemplate}" />

检查项目会让我进入chkbox_Checked事件。如何确定该组中所有复选框的值?

我看到lst.Items可以给我复选框的名称值,这是他们绑定的数据值,但是我无法将项目转换为checkBox类型来检查isChecked值。

1 个答案:

答案 0 :(得分:1)

在xaml中为您的控件提供了一个名称,您可以在后面的代码中通过此标识符引用它们。

E.g。

<Button Content="Button" Name="button1" Click="button1_Click" />

private void button1_Click(object sender, RoutedEventArgs e) {
    button1.Content = "Clicked";
}