我目前正在开发音乐播放器应用,而且我仍然坚持在应用中的所有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只是为了查看是否有一个工作。
我可能错过了一些明显的东西,但我希望有人可以帮助我。
谢谢!
答案 0 :(得分:2)
我认为SelectedItem
绑定需要Mode=TwoWay
SelectedItem="{Binding DataContext.selectedSong, ElementName=Group_Page, Mode=TwoWay }"