是否有WPF复选框控制切换事件?

Ine*_*elp 3 c# wpf checkbox toggle

考虑到WPF控件,我如何知道复选框的值是否已更改(切换)?

我知道有共同的Checked,Unchecked,Clicked事件,但如何当值的变化,不管它是如何改变的事件?

我查看了事件,但没有找到任何东西,但也许我错过了显而易见的事情(过去曾多次发生).

Err*_*Efe 6

您可以将IsCheckedDependency Property 绑定到布尔值.在该绑定属性设置器上,您可以操作您想要的内容(如果将其设置为true或false,则可以单独操作).这与预期一样有效.

在你看来:

  <Grid>
    <CheckBox ... IsChecked="{Binding ShowPending}"/>
  </Grid>
Run Code Online (Sandbox Code Playgroud)

在您的DataContext ViewModel或CodeBehind上.

  private bool showPending = false;

  public bool ShowPending
  {
      get { return this.showPending; }
      set 
      { 
         //Here you mimic your Toggled event calling what you want!
         this.showPending = value; 
      }
  }
Run Code Online (Sandbox Code Playgroud)


小智 5

我知道这已经有了一个公认的答案,但绑定对此有点矫枉过正.

只需编写一个事件处理程序并将其连接到Checked和Unchecked事件,然后检查事件处理程序中的IsChecked属性.