2012-07-10 70 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 = ""; 
}