我有一个包含 ListCollectionView
属性的 ViewModel,以及一个包含 ListView
控件的 View,其 ItemsSource
属性是绑定(bind)到 ListCollectionView 的数据:
View 模型:
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);
}
}
View (大量精简):
<ListView ItemsSource="{Binding Pacientes}"/>
<Border DataContext="{Binding Pacientes/}">
<!-- some controls displaying properties of Paciente entity -->
</Border>
注意带有尾部斜杠的 Binding Pacientes/
,尝试绑定(bind)到 Pacientes.CurrentItem
。
我的目的是提供一个主视图/详细 View ,其中一个 ListView 显示所有项目,一个侧面板显示当前/选定项目的信息。
事实是:当我在 ListView 中选择一个元素时,我希望设置 Pacientes.CurrentItem
,但显然事实并非如此!
所以我的问题是:如何通过选择数据绑定(bind) ListBox 上的项目来设置 ListCollectionView.CurrentItem?
最佳答案
设置IsSynchronizedWithCurrentItem
属性:
<ListView ItemsSource="{Binding Pacientes}" IsSynchronizedWithCurrentItem="True"/>
关于wpf - 如何同步ListCollectionView.CurrentItem和ListView.SelectedItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33128370/