본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

WPF & C# - Group CheckBox 두가지 방법 ( Grouping / 그룹 체크박스 )

728x90
반응형


 WPF & C# - Group CheckBox 두가지 방법 ( Grouping / 그룹 체크박스 )





MainWindow.xaml



1
2
3
4
5
6
7
8
9
10
11
<StackPanel x:Name="stp" Margin="10,10,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Background="#FFE8E8E8">
    <TextBlock Text="Group CheckBox" FontWeight="Bold" TextAlignment="Center"  Height="20" Background="#FFC3C3C3" TextOptions.TextFormattingMode="Ideal"></TextBlock>
    <CheckBox Content="Check Box 01" Margin="5"></CheckBox>
    <CheckBox Content="Check Box 02" Margin="5"></CheckBox>
    <CheckBox Content="Check Box 03" Margin="5"></CheckBox>
    <CheckBox Content="Check Box 04" Margin="5"></CheckBox>
    <CheckBox Content="Check Box 05" Margin="5"></CheckBox>
    <Button x:Name="btn" Height="40" Content="CHeck List" FontWeight="Bold" Margin="5" Click="btn_Click"></Button>
    <Label x:Name="lbl" Margin="5"></Label>
    <Label x:Name="lbl2" Margin="5"></Label>
</StackPanel>
cs




MainWindow.xaml.cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 첫번째 방법 : 조건에 맞는 객체 찾기
foreach (CheckBox cbx in stp.Children.OfType<CheckBox>())
{
    if (cbx.IsChecked == true) lbl.Content += cbx.Content.ToString();
}
 
// 두번째 방법 : 조건에 맞는 객체를 배열에 넣기
var chkBoxs = stp.Children.OfType<CheckBox>();
CheckBox[] cbxs = new CheckBox[chkBoxs.Count()];
for (int i = 0; i < cbxs.Count(); i++)
{
    cbxs[i] = stp.Children.OfType<CheckBox>().ElementAtOrDefault(i);
    if (cbxs[i].IsChecked == true) lbl2.Content += cbxs[i].Content.ToString();
}
cs




728x90
반응형