我有一個帶兩個列表框的列表,listbox1 & listbox2。在表單加載時,我填寫了兩個列表框,其中沒有。項目。 我希望如果我選擇列表框1中索引1的項目,那麼也應選擇具有相同索引的列表框2項目。c中的列表框#
我該如何做到這一點?
我有一個帶兩個列表框的列表,listbox1 & listbox2。在表單加載時,我填寫了兩個列表框,其中沒有。項目。 我希望如果我選擇列表框1中索引1的項目,那麼也應選擇具有相同索引的列表框2項目。c中的列表框#
我該如何做到這一點?
訂閱兩個列表框SelectionChanged
事件,然後相應地爲相反的列表框設置SelectedIndex
。
您可以將listBox2中的SelectedIndex
綁定到listBox1中的SelectedIndex
。
像這樣:
<ListBox Name="listBox1" />
<ListBox SelectedIndex="Binding ElementName=listBox1,Path=SelectedIndex" />
但是,如果要反思listBox2選擇變回listBox1中,你不能只是做listBox1中相同的結合,因爲它會拋出StackOverflowException。您應該訂閱listBox2上的SelectionChanged事件並更改代碼中listBox1的SelectedIndex。
像這樣:
<ListBox Name="listBox2" SelectedIndex="Binding ElementName=listBox1,Path=SelectedIndex" SelectionChanged="listBox2_SelectionChanged" />
而且事件處理方法是這樣的:
private void listBox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
listBox1.SelectedIndex = listBox2.SelectedIndex;
}
的問題是不夠清楚,因爲我明白,如果我從列表1,那麼第2項中選擇第1項從列表2中也會被選中?所以如果我從列表1中選擇項目2,那麼列表2中的項目3將被選中? – Ateeq
到目前爲止你有嘗試過什麼嗎?你可以做這樣的事情'listBox2.SelectedIndex = listBox2.SelectedIndex + 1;' –
是我們正在談論的WinForms或WPF? –