2009-03-20 46 views
6

Sto usando due controlli ListBox nella mia finestra WPF identici (identici = ItemSource di entrambi i ListBox sono uguali e quindi hanno lo stesso aspetto) e la modalità di selezione su entrambi i ListBox è impostata su multipla.Selezionare elementi in una listbox utilizzando C#

consente di chiamare i ListBoxes LB1 e LB2 per il momento, ora quando si fa clic su un elemento LB1, voglio lo stesso articolo in LB2 per essere selezionato cioè automaticamente se si seleziona 3 articoli in LB1 utilizzando Maiusc + Fare clic su o Ctrl + Fare clic su selezionare gli stessi elementi in LB2.

Hanno scavato le proprietà di Listbox come SelectedItems, SelectedIndex ecc. Ma senza fortuna.

risposta

9

Posizionare un evento SelectionChanged sul tuo primo listbox

LB1.SelectionChanged += LB1_SelectionChanged; 

Quindi implementare il metodo SelectionChanged in questo modo:

+0

Ciao, Grazie mille il tuo aiuto è apprezzato, il frammento di codice che hai dato funziona come un fascino. Cordiali saluti @nand –

+0

Nessun problema .. felice di poterti aiutare! :) – Arcturus

0

Hai provato SetSelected?

listBox2.SetSelected(1, True) 

Si può usare in questo modo

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); 
    } 

utilizzare gli elementi selezionati da LB1 come un indice in LB2

+0

Hi PoweRoy, Grazie per la risposta, ma purtroppo WPF non espone la proprietà SetSelected per Listbox. Ho provato googling per questo (setelected) ma non ho potuto ottenere una soluzione e quindi questo post Cordiali saluti @nand –

Problemi correlati