【发布时间】:2011-08-17 09:43:04
【问题描述】:
我正在使用 wpf 树视图并将 ItemsSource 绑定到具有 IsChecked 属性的 ViewModel 的 IEnumerable。我使用 TwoWay 模式将复选框绑定到该值。当我单步执行程序时,我可以看到当我选中复选框时,它正在我的 ViewModel 上正确设置此值。
然后我有一个“已检查运行”的菜单项。在这种方法中,我有一个 foreach 循环,它通过 ItemsSource 作为 ViewModel 的 IEnumerable 运行,寻找 IsChecked = true 来排队检查项目以由单独的程序运行。因此:
foreach (AccountViewModel account in tvClientList.ItemsSource as IEnumerable<AccountViewModel>)
{
if (account.IsChecked)
{
context.Queues.InsertOnSubmit(new Queue {Id = account.Id});
}
}
但是,account.IsChecked 始终为 false。这是为什么呢?
【问题讨论】: