CollectionViewSource для привязки к свойству в синглтоне
У меня такой класс синглтон
public class Sample
{
private static readonly Lazy<Sample> lazy =
new Lazy<Sample>(() => new Sample());
private ObservableCollection<SampleGroup> _groups;
public ObservableCollection<SampleGroup> Groups
{
get { return _groups; }
}
}
Я связываю Groups
собственность на ListView
этим,
<Window.Resources>
<!-- Data Source For Binding-->
<CollectionViewSource x:Key="SampleGroups" Source="{Binding Groups}" />
</Window.Resources>
...
<ListView x:Name="GroupNameListView"
ItemsSource="{Binding Source={StaticResource SampleGroups}}"
SelectedIndex="0" SelectionChanged="GroupNameListView_SelectionChanged" >
....
Для того, чтобы сделать эту работу, мне нужно поставить this.DataContext= Sample.Instance
в коде позади.
Возможно ли, что я могу указать это DataContext
в <Window.Resources>
часть, потому что я хотел бы добавить еще CollectionViewSource
который имеет другой DataContext
,
1 ответ
Решение
Вы можете напрямую связать одноэлементный класс, как указано ниже.
<CollectionViewSource x:Key="SampleGroups" Source="{Binding Source={x:Static local:Sample.Instance}, Path=Groups}" />