我有一个弹出窗口,用户可以根据需要多次打开和关闭。在窗口上有 4 个复选框,其中包含已绑定的选中值。这个想法是,如果用户取消选中一个框然后关闭窗口,下次打开它时它仍然会被取消选中。当窗口打开时,如果有任何未选中的复选框,我需要做一些工作。我的问题是,当在 WindowLoadedEvent 的代码隐藏中时,我尝试获取复选框值以查看是否需要先做一些工作。每次窗口加载时,每个复选框的所有 isChecked 值都是错误的,即使窗口显示它们都已被选中。
我不知道如何获得我正在寻找的价值我正在使用.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 代码检查它的状态。
任何帮助,将不胜感激。
先感谢您。