2012-10-04 99 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

只要做到這一點後意識到我可以:)謝謝我會接受這個答案。 –