C# 在DataTemplate内部绑定ListView的SelectedItem
我目前正在开发一个音乐播放器应用程序,我一直坚持在应用程序的所有列表视图中突出显示播放曲目 例如,有一个包含相册列表的页面,每个相册都包含一个带有。当您第一次选择它并且所选项目绑定到viewmodel时,一切都很好。但当导航离开并返回到该页面时,viewmodel会保留有关sing正在播放的内容的信息 这是我的XAML:C# 在DataTemplate内部绑定ListView的SelectedItem,c#,windows,xaml,listview,uwp,C#,Windows,Xaml,Listview,Uwp,我目前正在开发一个音乐播放器应用程序,我一直坚持在应用程序的所有列表视图中突出显示播放曲目 例如,有一个包含相册列表的页面,每个相册都包含一个带有。当您第一次选择它并且所选项目绑定到viewmodel时,一切都很好。但当导航离开并返回到该页面时,viewmodel会保留有关sing正在播放的内容的信息 这是我的XAML: <ListView x:Name="lstSongs" ItemsSource="{Binding attachments}" SelectionChan
<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只是为了看看其中一个是否有效
我可能错过了一些明显的东西,但我希望有人能帮我
谢谢 我认为
SelectedItem
绑定需要是Mode=TwoWay
SelectedItem="{Binding DataContext.selectedSong, ElementName=Group_Page, Mode=TwoWay }"
我认为
SelectedItem
绑定需要是Mode=TwoWay
SelectedItem="{Binding DataContext.selectedSong, ElementName=Group_Page, Mode=TwoWay }"
通常没有理由将“SelectedItem/Value”绑定到视图模型,为什么不直接绑定到元素呢?虽然我不理解这个问题,但这可能是一件对你有帮助的事情。另一个问题-在您的数据上下文中到底是什么?您绑定到页面的datacontext而视图本身却没有datacontext的原因是什么?@MichaeltHepto我不太确定是否会直接绑定到元素。什么意思?至于为什么我要绑定到页面的viewmodel,listview的默认viewmodel是父listview,因此它不会公开我可以检索当前歌曲的相关字段。通常没有理由将“SelectedItem/Value”绑定到视图模型,为什么不直接绑定到元素?虽然我不理解这个问题,但这可能是一件对你有帮助的事情。另一个问题-在您的数据上下文中到底是什么?您绑定到页面的datacontext而视图本身却没有datacontext的原因是什么?@MichaeltHepto我不太确定是否会直接绑定到元素。什么意思?至于为什么我要绑定到页面的viewmodel,listview的默认viewmodel是父listview,因此它不会公开我可以检索当前歌曲的相关字段。我唯一要添加的是,这不是唯一可能发生的问题。如果他试图绑定SelectedItem的对象不是1。a财产和2。如果数据类型正确,它也不会工作。该死,我希望他在业余时间兼职做工程师。我唯一要补充的是,这不是唯一可能发生的问题。如果他试图绑定SelectedItem的对象不是1。a财产和2。如果数据类型正确,它也不会工作。该死,我希望他在业余时间兼职做工程师。