2012-10-04 57 views
0

我正在尝试创建一个用于检查我的复选框是否未选中的方法,并且在它将显示一个消息框并运行我应该设置所有部门不显示的循环时,但是我似乎无法让我的代码检测复选框未勾选时,它只是点击第一个if语句,即使未勾选tickbox将其设置为false,也不会获得进一步的结果。处理未选中的复选框

private void displayOnWebsite_Checked(object sender, RoutedEventArgs e) 
    { 
     CheckBox displayOnWebsite = sender as CheckBox; 

     if (displayOnWebsite.IsChecked == false) 
     { 
      var departments = model.Name; 
      var departmentChildren = model.Children; 
      var messagebox = System.Windows.MessageBox.Show("Do you wish to hide all sub deparments and products.", 
       "List of Box", 
       MessageBoxButton.YesNo); 

      if (!session.IsConnected) 
       session.Reconnect(); 

      // Used to hide child departments and products. 
      if (messagebox == MessageBoxResult.Yes) 
      { 
       if (departmentChildren != null) 
       { 
        int zeroChildren = 0; 

        if (departmentChildren.Count.Equals(zeroChildren)) 
        { 
         foreach (Department children in departmentChildren) 
          children.IsVisibleOnWebsite = false; 
        } 
       } 
      } 
      else 
       System.Windows.MessageBox.Show("Nevermind then..."); 
     } 
     else 
      System.Windows.MessageBox.Show("nothing happened here"); 
    } 

WPF:

     <CheckBox IsChecked="{Binding IsVisibleOnWebsite}" Name="displayOnWebsite" Style="{StaticResource Label}" Checked="displayOnWebsite_Checked">Display On Website</CheckBox> 

回答

2

使用 “未选中” 事件来处理取消选中。

+0

只要做到这一点后意识到我可以:)谢谢我会接受这个答案。 –