2014-05-19 210 views
1

要使用什麼方法來檢測用戶是否觸摸了某個複選框,以更改我的Windows Phone應用程序中的isChecked狀態?在我的代碼中,手動設置啓動時的複選框,並立即啓動回調,而我只想在用戶與視圖交互時觸發回調。檢測複選框觸摸

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

你能告訴我們你現在的代碼嗎? – erapert

+0

@erapert更新 – kabuto178

+0

爲什麼不把它放入XAML中?不要以爲它會提高。 –

回答

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"); 
} 
+0

由於我從XAML文件中聲明瞭我的事件處理程序,所以決定採用這種方法。 – kabuto178

0

使用Click方法:

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

添加處理程序,如果該複選框應該檢查你已經決定了。

public CheckBoxPage() 
{ 
    InitializeComponent(); 

    AvailableCheckBox.IsChecked = true; 

    AvailableCheckBox.Checked += AvailableCheckBox_Checked; 
} 

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