我正在使用以下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集合的相同对象类型?
答案 0 :(得分:3)
SelectedItem
必须指向ItemsSource
中的对象。您需要针对您的方案查看SelectedValue
和SelectedValuePath
。