检测复选框触摸

时间:2014-05-19 20:21:10

标签: c# windows-phone-7

使用什么方法来检测用户是否触摸了复选框以更改我的Windows手机应用中的isChecked状态?在我的代码中,我在启动时手动设置了一个复选框,并立即触发回调,而我只想在用户与视图交互时触发回调。

public CheckBoxPage()
    {
        InitializeComponent();
        AvailableCheckBox.IsChecked = true; //name of the checkbox
    }
  private void CheckBox_Checked(object sender, RoutedEventArgs e)//event handler
    {
       MessageBox.Show("Changed");
    }

3 个答案:

答案 0 :(得分:0)

使用Click方法:

private void AvailableCheckBox_Click(object sender, RoutedEventArgs e)
{
    if (AvailableCheckBox.IsChecked == true)
    {
        // Checked
    }
}

答案 1 :(得分:0)

在您确定是否应选中复选框后添加处理程序。

public CheckBoxPage()
{
    InitializeComponent();

    AvailableCheckBox.IsChecked = true;

    AvailableCheckBox.Checked += AvailableCheckBox_Checked;
}

void AvailableCheckBox_Checked(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Changed");
}

答案 2 :(得分:0)

使用变量来跟踪页面是否已加载,并且只有处理程序在加载时才会执行填充。

private bool _isLoaded = false;

public CheckBoxPage()
{
    InitializeComponent();

    AvailableCheckBox.IsChecked = true;

    _isLoaded = true; // enable the AvailableCheckBox_Checked handler
}

void AvailableCheckBox_Checked(object sender, RoutedEventArgs e)
{
    if (!_isLoaded) return; // stop here if not loaded yet

    // everything is loaded so let's execute some stuff
    MessageBox.Show("Changed");
}