在DataTemplate中绑定ListView的SelectedItem

时间:2016-07-26 11:06:24

标签: c# windows xaml listview uwp

我目前正在开发音乐播放器应用,而且我仍然坚持在应用中的所有ListView中突出显示播放曲目。

例如,有一个包含相册列表的页面,每个相册都包含一个list of songs的DataTemplate。当您第一次选择它并且所选项目绑定到viewmodel时,一切都很好。但是在导航离开并返回到该页面时,视图模型会保留有关正在播放的歌曲的信息but the binding doesn't cause the item to be highlighted

这是我的XAML:

<ListView x:Name="lstSongs"
    ItemsSource="{Binding attachments}"
    SelectionChanged="lstSongs_SelectionChanged"
    ScrollViewer.VerticalScrollMode="Disabled"
    SelectedValue="{Binding DataContext.selectedSong, ElementName=Group_Page}"
    SelectedItem="{Binding DataContext.selectedSong, ElementName=Group_Page}"
    ItemContainerStyle="{StaticResource ListViewTextHighlight}"
    Grid.Row="1">

绑定SelectedItem和SelectedValue只是为了查看是否有一个工作。

我可能错过了一些明显的东西,但我希望有人可以帮助我。

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为SelectedItem绑定需要Mode=TwoWay

SelectedItem="{Binding DataContext.selectedSong, ElementName=Group_Page, Mode=TwoWay }"