1

ListBoxItemWindows Presentation Foundationで選択したコードビハインドを変更することはできますか?

これは非常に簡単な作業です。ボタンとボタンがNextありPrevious、の次の項目と前の項目を表しますListBox。しかし、myListBox.itemsもちろん、私がに保存したもののオブジェクト表現ですListBox

では、どのようにをフェッチしてプロパティListBoxItemを設定するのでしょうか。IsSelected

4

2 に答える 2

5

あなたがPreviousとNextをしているので、おそらくあなたのケースで行うのがより簡単なことは、SelectedIndexをインクリメントすることです:

//Increment
if(myListBox.SelectedIndex < myListBox.Items.Count -1)
     myListBox.SelectedIndex++;

//Decrement
if(myListBox.SelectedIndex > 0)
     myListBox.SelectedIndex--;

ListBoxにスローしたオブジェクトを構成するListBoxItemを本当に取得したい場合は、次の操作を実行できます。

ListBoxItem item = myListBox.ItemContainerGenerator.ContainerFromItem(objectIWantToSelect);
item.IsSelected = true;
于 2009-10-29T15:52:46.957 に答える
1

さまざまなオプションがあります。

  • ListBoxコントロールのSelectedItemまたはSelectedIndexプロパティを使用します
  • 親リストボックスではなくListBoxItemがある場合は、ItemsControl.ItemsControlFromItemContainer(listboxitem)を使用して親リストボックスを取得します(以前のプロパティを使用します)
  • ICollectionViewインターフェイス(CollectionViewSource.GetDefaultView)とそのメソッド(MoveCurrentToNext、MoveCurrentToPrevious)を使用します
于 2009-10-29T15:51:56.933 に答える