現在、音楽プレーヤーアプリで作業していますが、再生トラックをアプリ内のすべてのListViewでハイライト表示し続けることに固執しています。DataTemplate内のListViewのSelectedItemをバインドします
たとえば、アルバムリストを含むページがあり、それぞれにlist of songsのDataTemplateが含まれています。あなたが最初にそれを選択し、選択されたアイテムがビューモデルにバインドされているときは、すべてがうまくいきます。しかし、そのページを離れてナビゲートすると、ビューモデルには、歌が再生されていることに関する情報が保持されます(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つの質問 - データコンテキストにはどんなものがありますか?ページのデータコンテキストにバインドしていて、ビュー自体にデータフレームを持たない理由は何ですか? – MichaelThePotato
@MichaelThePotato私は、要素に直接バインドする方法についてはわかりません。どういう意味ですか? 私がページのviewmodelにバインドする理由は、リストビューのデフォルトのviewmodelが親リストビューなので、現在の曲を取得できる関連フィールドを公開しません。 –