正在绑定DataTemplate内部ListView的SelectedItem

本文关键字:ListView SelectedItem 内部 DataTemplate 绑定 | 更新日期: 2023-09-27 17:58:52

我目前正在开发一款音乐播放器应用程序,我一直在坚持在应用程序的所有ListView中突出显示播放曲目。

例如,有一个包含相册列表的页面,每个相册都包含一个包含歌曲列表的DataTemplate。当您第一次选择它并且所选项目绑定到视图模型时,一切都很好。但是,在离开和返回该页面时,视图模型会保留关于正在播放哪首歌曲的信息,但绑定不会导致项目突出显示。

这是我的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只是为了看看两者是否有效。

我可能遗漏了一些显而易见的东西,但我还是希望有人能帮我。

谢谢!

正在绑定DataTemplate内部ListView的SelectedItem

我认为SelectedItem绑定需要是Mode=TwoWay

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