MVVM:将ListView.SelectedItem.Property绑定到VM属性

时间:2010-12-04 02:53:44

标签: 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”对象)绑定到一个ViewModel,将SelectedItem绑定到另一个ViewModel上的“File”对象。这工作正常但现在我不需要绑定整个对象,而是绑定一个属性。即而不是SelectedItem="{Binding Path=CurrentFile之类的东西,我需要SelectedItem.FilePath="{Binding Path=FilePath。这是可能的,还是SelectedItem绑定必须映射到ListView集合的相同对象类型?

1 个答案:

答案 0 :(得分:3)

SelectedItem必须指向ItemsSource中的对象。您需要针对您的方案查看SelectedValueSelectedValuePath