博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

CheckBox状态多选

前:

 1   <StackPanel Margin="10">
 2             <Label FontWeight="Bold">Application Options</Label>
 3             <StackPanel Margin="10,5">
 4                 <CheckBox IsThreeState="True" Name="cbAllFeatures" Checked="cbAllFeatures_CheckedChanged" Unchecked="cbAllFeatures_CheckedChanged">Enable all</CheckBox>
 5                 <StackPanel Margin="20,5">
 6                     <CheckBox Name="cbFeatureAbc" Checked="cbFeature_CheckedChanged" Unchecked="cbFeature_CheckedChanged">Enable feature ABC</CheckBox>
 7                     <CheckBox Name="cbFeatureXyz" IsChecked="True" Checked="cbFeature_CheckedChanged" Unchecked="cbFeature_CheckedChanged">Enable feature XYZ</CheckBox>
 8                     <CheckBox Name="cbFeatureWww" Checked="cbFeature_CheckedChanged" Unchecked="cbFeature_CheckedChanged">Enable feature WWW</CheckBox>
 9                 </StackPanel>
10             </StackPanel>
11         </StackPanel>
 1         private void cbAllFeatures_CheckedChanged(object sender, RoutedEventArgs e)
 2         {
 3             bool newVal = (cbAllFeatures.IsChecked == true);
 4             cbFeatureAbc.IsChecked = newVal;
 5             cbFeatureXyz.IsChecked = newVal;
 6             cbFeatureWww.IsChecked = newVal;
 7         }
 8 
 9         private void cbFeature_CheckedChanged(object sender, RoutedEventArgs e)
10         {
11             cbAllFeatures.IsChecked = null;
12             if ((cbFeatureAbc.IsChecked == true) && (cbFeatureXyz.IsChecked == true) && (cbFeatureWww.IsChecked == true))
13                 cbAllFeatures.IsChecked = true;
14             if ((cbFeatureAbc.IsChecked == false) && (cbFeatureXyz.IsChecked == false) && (cbFeatureWww.IsChecked == false))
15                 cbAllFeatures.IsChecked = false;
16         }

 

posted @ 2016-04-08 08:01  ants_double  阅读(268)  评论(0编辑  收藏  举报