【发布时间】:2012-06-20 02:48:11
【问题描述】:
我有以下 ItemsControl,它为可用集合中的每个数据库提供了一个复选框。这些复选框允许用户选择要过滤的复选框。要过滤的数据库位于单独的集合 (FilteredDatabases) 中。我该怎么做?我可以将 InFilter 属性添加到数据库项类。但是,我还不想开始更改此代码。我无法解决的问题是我需要绑定到不在数据库项本身上的属性。有什么想法吗?
<ItemsControl ItemsSource="{Binding AvailableDatabases}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Name}" IsChecked="{Binding ???}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
// In view model
public IBindingList FilteredDatabases
{
get;
private set;
}
public IBindingList AvailableDatabases
{
get;
private set;
}
【问题讨论】:
-
您需要在视图模型上添加一个属性,您将使用该属性的设置器从 FilteredDatabases 集合中添加或删除选中的数据库
-
问题是我不知道在我的项目控制中检查了哪个项目。如何将其添加到我的视图模型中?
标签: wpf binding checkbox itemscontrol