我有一个包含ListCollectionView
属性的ViewModel,以及一个包含ListView
控件的View,其ItemsSource
属性是绑定到ListCollectionView的数据:
视图模型:
public ListCollectionView Pacientes { get; set; }
public IRepositório<Paciente> RepositórioPacientes { get; set; }
// CONSTRUTOR
public MainViewModel()
{
RepositórioPacientes = new PacienteRepositorioFake();
Pacientes = (ListCollectionView)CollectionViewSource.GetDefaultView(RepositórioPacientes.Items);
}
}
查看(严重剥离):
<ListView ItemsSource="{Binding Pacientes}"/>
<Border DataContext="{Binding Pacientes/}">
<!-- some controls displaying properties of Paciente entity -->
</Border>
请注意Binding Pacientes/
带有斜杠,尝试绑定到Pacientes.CurrentItem
。
我的目的是提供一个Master / Detail视图,一个ListView显示所有项目,一个侧面板显示来自Current / Selected Item的信息。
事实是:当我在ListView中选择一个元素时,我希望设置Pacientes.CurrentItem
,但显然它不是!
所以我的问题是:如何通过选择数据绑定ListBox上的项来设置ListCollectionView.CurrentItem?
答案 0 :(得分:5)
设置IsSynchronizedWithCurrentItem
属性:
<ListView ItemsSource="{Binding Pacientes}" IsSynchronizedWithCurrentItem="True"/>