WPF

ListBox의 CheckBox가져오기

지오준 2021. 8. 20.
반응형

1. Xaml의 ListBox의 디자인 소스코드

<ListBox Height="auto" HorizontalAlignment="Left" Name="lstFileType" VerticalAlignment="Top" Width="auto" SelectionMode="Single" BorderThickness="0" Cursor="Hand">
	<ListBox.ItemTemplate>
		<DataTemplate>
			<StackPanel Orientation="Vertical" >
				<CheckBox Name="lstchkFileType" />
			</StackPanel>
		</DataTemplate>
	</ListBox.ItemTemplate>
</ListBox>

2. Cs파일의 소스코드

//ListBox의 ListBoxItem요소의 루프
foreach (var item in lstFileType.Items)
{
	//ListBoxItem취득
	ListBoxItem listBoxItem = (ListBoxItem)lstFileType.ItemContainerGenerator.ContainerFromItem(item);
	//CheckBox컨트롤취득
	CheckBox checkBox = FindVisualChild<CheckBox>(listBoxItem);
	//CheckBox컨트롤이 정상적으로 취득된경우에만 체크처리
 	if (checkBox != null)
		checkBox.IsChecked = true;
 }
반응형

댓글