如何设置绑定到ListBox
ObservableCollection
的{{1}}的{{1}}?一切都正常。 ObservableCollection
正确显示其中的ListBox
。当用户在ObservableCollection
中选择一个时,ListBox
的数据会显示为ObservableCollection
。唯一的问题是ListBox为每个DataGrid
显示(collection)
(不是描述性的)。想象我需要放一个转换器,我做了这个;
ObservableCollection
然后有这样的标准转换器;
<ListBox ItemsSource="{Binding Path=MyCollection}"
DisplayMemberPath="{Binding Converter={StaticResource CollectionConverter}}" />
问题是public class CollectionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//Convert Logic
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
//ConvertBack logic
}
}
和Convert
从未触发过。
我做错了什么?
答案 0 :(得分:1)
重构第一个集合,如下所示:
class NamedObservableCollection : ObservableCollection<ObservableCollection<MyItem>>
{
public string Name { get; private set;}
public NamedObservableCollection(string name)
{
Name = name;
}
}
<ListBox ItemsSource="{Binding Path=MyCollection}" DisplayMemberPath="Name"}/>