我正在使用以下 ListView :
<ListView DataContext="{StaticResource mainViewModel}" ItemsSource="{Binding Items.View}" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding Path=CurrentFile, Source={StaticResource anotherViewModel}, Mode=OneWayToSource}">
<ListView.View>
<GridView>
<GridViewColumn Header="File Path" DisplayMemberBinding="{Binding FilePath}" />
<GridViewColumn Header="Creation" DisplayMemberBinding="{Binding CreationDate}" />
</GridView>
</ListView.View>
</ListView>
我将 ListView("file"对象)绑定(bind)到一个 ViewModel,将 SelectedItem 绑定(bind)到另一个 ViewModel 上的"file"对象。这很好用,但现在我不需要绑定(bind)整个对象,而是绑定(bind)一个属性。 IE。而不是
SelectedItem="{Binding Path=CurrentFile
我需要SelectedItem.FilePath="{Binding Path=FilePath
.这是可能的还是 SelectedItem 绑定(bind)必须映射到 ListView 集合的相同对象类型?
最佳答案
SelectedItem
必须指向 ItemsSource
中存在的对象.你需要看看SelectedValue
和 SelectedValuePath
适合您的场景。
关于wpf - MVVM:将 ListView.SelectedItem.Property 绑定(bind)到 VM 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351674/