wpf - MVVM:将 ListView.SelectedItem.Property 绑定(bind)到 VM 属性

标签 wpf listview mvvm binding

我正在使用以下 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 中存在的对象.你需要看看SelectedValueSelectedValuePath适合您的场景。

关于wpf - MVVM:将 ListView.SelectedItem.Property 绑定(bind)到 VM 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351674/

相关文章:

wpf - 我需要知道演示模型中的窗口句柄

java - 是否可以动态混合ListView和TextView?

c# - 如何在 MVVM 模式中正确实现模型和 View 模型

wpf - DataTemplate与ItemContainerTemplate

c# - 谁使用 NotifyCollectionChangedEventArgs 的功能?

wpf - 为什么我在 wpf 的 xaml 查看器中出现此异常?

wpf - 为什么不触发 DataGrid 中按钮的单击事件?

android - 过滤 ListView 在 TextChanged 上获取 Null

android - 将图像从 JSON 解析为 Android 中的 ListView

c# - Caliburn.Micro 中的用户控件