3

ListBox曲、アーティスト、アルバム、プレイリストをロードする WPF があります。

たとえば、アーティスト ボタンをクリックすると、リスト ボックスに各アーティストが表示されます。

アーティストをクリックすると、そのアーティストの曲が読み込まれます。アルバムも同様。

リスト ボックスをスクロールするための上下ボタンがあり、次のようにエントリが自動的に選択され、上下にスクロールされます。

private void FileNavDown_Click(object sender, RoutedEventArgs e)
{
    if (MediaList.SelectedIndex < MediaList.Items.Count)
    {
        MediaList.SelectedIndex++;
        MediaList.ScrollIntoView(MediaList.SelectedItem);
    }
}

おそらく、あなたはすでに私の問題を見ています。これらのボタンを使用してアーティスト、アルバム、またはプレイリストをスクロールすることはできません。次のエントリが自動的に選択され、曲が読み込まれるからです。

アーティストのカテゴリにいるときにそれを選択せず​​にスクロールして、選択したアイテム + 1 を表示するのは簡単だと考えていますが、それは機能しますが、上にスクロールすると、すぐ上のエントリ既に表示されている場合、スクロールして表示しても、ユーザーには何も表示されません。以前は表示されていなかった 5 エントリ上にあるエントリを表示するには、5 回クリックする必要があります。

それで、簡単な修正?構造をあまり変更したくありません。おそらく、ビューがスクロールしたかどうかを検出するために何かが必要なだけです。そうでない場合は、スクロール インデックスを再度インクリメント/デクリメントし、変更されるまでスクロールして表示することができます。

4

0 に答える 0