我有两个列表视图,一个用于图像,一个用于标签,它们有很多关系。
两个列表视图都绑定到EF对象的ObservableCollection。标签列表视图还有一个复选框列。
当我从列表视图中选择一个图像时,我希望在另一个列表视图中检查相关的标签。我需要TwoWay绑定来创建和删除基于被检查的关系。
我该怎么做?
答案 0 :(得分:0)
在您的VM中,您有两个ObservableCollection的所有图像和标签...我认为您可以使用其他两个ObservableCollection关联的图像或标签,当您选择图像时,您可以使用此ObservableCollection绑定关联的标签,反之亦然。
您可以将关联项与所选项绑定的其他解决方案(“SelectedItems = {Binding Path = SelectedItem.Tags,ElementName = MyImageListBox}”或类似内容。
答案 1 :(得分:0)
我的工作原理如下:
有些事情:
public partial class Tag : INotifyPropertyChanged
public bool MatchesImage {
get
{
Image img = DataRepository.CurrentImage;
return (img != null) ? this.Images.Contains(img) : false;
}
set
{
Image img = DataRepository.CurrentImage;
if (img != null)
{
if (value)
img.Tags.Add(this);
else
img.Tags.Remove(this);
OnPropertyChanged("MatchesImage");
}
}
}
}