2012-07-10 69 views
2

在XAML把代碼:複選框不能在xaml中設置初始值?

<CheckBox x:Name="cbxNew" Content="New" IsChecked="true" Checked="cbxNew_Checked" /> 

private void cbxNew_Checked(object sender, RoutedEventArgs e) 
     { 
      this.txtTest.Text = ""; 
     } 

然後運行該應用程序,並得到了錯誤:

Set Property 
System.Windows.Controls.Primitives.ToggleButton.IsChecked threw an exception 

非常驚訝。如何解決這個問題?

+0

請提供一些周圍的XAML代碼;上述線路本身不應引起任何問題。另外,提供更多的例外細節。 – 2012-07-10 17:00:09

+0

謝謝。更新了完整的xaml和Checked事件的代碼。 – KentZhou 2012-07-10 17:08:46

回答

3

問題發生的原因是Checked事件在對話框/頁面的InitializeComponent()期間觸發,但在txtTest被賦值之前觸發。

只需更改代碼以

private void cbxNew_Checked(object sender, RoutedEventArgs e) 
{ 
    if (this.txtTest != null) 
    this.txtTest.Text = ""; 
}