6

私は WPF ウィンドウで同一の 2 つの ListBox コントロールを使用しており (ItemSource両方の ListBox が同一であり、同じように見える)、両方の ListBox の選択モードが [複数] に設定されています。

ListBoxes を呼び出してLB1LB2当分の間、 の項目をクリックするLB1と、同じ項目がLB2自動的に選択されるようにします。つまり、Shift+ClickまたはCtrl+Clickのいずれかを使用して LB1 で 3 つの項目を選択すると、同じ項目LB2が選択されます。

SelectedItemsなどのリストボックスのプロパティを掘り下げましたSelectedIndexが、運がありません。

4

2 に答える 2

10

最初のリストボックスに SelectionChanged イベントを配置します

LB1.SelectionChanged += LB1_SelectionChanged;

次に、次のように SelectionChanged メソッドを実装します。

void LB1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    LB2.SelectedItems.Clear();
    foreach(var selected in LB1.SelectedItems)
    {
        LB2.SelectedItems.Add(selected);
    }
}
于 2009-03-20T09:52:12.847 に答える
0

SetSelected を試しましたか?

listBox2.SetSelected(1, True)

こんな感じで使えます

private void DoLB2Selection()
{
   // Loop through all items the ListBox.
   for (int x = 0; x < listBox1.Items.Count; x++)
   {
      // Determine if the item is selected.
      if(listBox1.GetSelected(x) == true)
         // Deselect all items that are selected.
         listBox2.SetSelected(x,true);
   }

LB1 から選択したアイテムを LB2 のインデックスとして使用する

于 2009-03-20T08:13:36.127 に答える