사용자가 원하는만큼 열고 닫을 수있는 팝업 창이 있습니다. 창에는 바인딩 된 확인 된 값이있는 4 개의 확인란이 있습니다. 사용자가 상자의 선택을 취소 한 다음 창을 닫으면 다음에 열 때 해당 창이 선택 취소됩니다. 선택을 취소 한 체크 상자가있는 경우 창이 열리면 일부 작업을 수행해야합니다. 내 문제는 WindowLoadedEvent의 codebehind에서 체크 상자 값을 가져와 먼저 작업해야하는지 확인하려고 할 때입니다. 윈도우가 모두 체크 된 것을 보여 주더라도 윈도우가 모든 체크 박스에 대한 모든 isChecked 값을로드 할 때마다 false입니다.체크 박스 바인딩 값 받기
나는 찾고있는 가치를 얻는 방법을 모른다 .net 4.0;
<StackPanel x:Name="panelVisibilities">
<CheckBox x:Name="crossCorrelationViewCheck"
IsChecked="{Binding Path=Processor.CrossCorrelation.IsCrossCorrelationVisible}"
Click="GraphVisibilityClickEvent"
HorizontalAlignment="Left"/>
...etc
private void WindowLoadedEvent(object sender, RoutedEventArgs e)
{
IEnumerable<CheckBox> elements = this.panelVisibilities.Children.OfType<CheckBox>().ToList();
foreach (CheckBox uiElement in elements)
{
bool isChecked = uiElement.DataContext;
if (isChecked == false)
{
//do work
}
}
}
편집 : 가 나는 checkbox.IsChecked이 모델에 바인딩이,하지만 윈도우가 표시 될 때 뒤에 XAML 코드에서 상태를 확인 할 수 있습니다 설명하는 더 좋은 방법.
도움을 주시면 감사하겠습니다.
미리 감사드립니다.
무엇? WPF에서 코드의 UI 요소를 조작하지 마십시오. 체크 박스가 바인딩 된 경우 ... 바인딩되는 대상은 무엇입니까? 왜 대신 그 데이터 항목을 조작하지 않습니까? –
'Processor.CrossCorrelation.IsCrossCorrelationVisible'이 true 또는 false 인 ID를 확인할 수 없습니까? 엘리먼트를 왜 확인하고 있니? –
xaml 코드에서 볼 수 없기 때문에 Processor.CrossCorrelation.IsCrossCorrelationVisible을 확인할 수 없습니다. Checbox에있는 모델 속성이며 코드 뒤에 표시되지 않습니다. –