2012-03-17 19 views
0

我需要將Label綁定到兩個ListBox es。爲了做到這一點,我有兩個ListBox ES的SelectionChanged屬性設置爲相同的功能:按照每個列表框選擇項目設置標籤對象

<ListBox Name="ListBox1" SelectionChanged="UpdateSelectedItem" /> 
<ListBox Name="ListBox2" SelectionChanged="UpdateSelectedItem" /> 
<Label Name="DetailsLabel" DataContent="DefinedElsewhere" /> 

但是我無法找到什麼選擇的項目實際上是。我已經通過了發送對象和SelectionChangedEventArgs的所有屬性,但我找不到它。 ListBox綁定到對象的ObservableCollection,我希望Label顯示最後選擇的項目的屬性,無論它從哪個ListBox被選中。我如何找到?

private void UpdateSelectedItem(object sender, SelectionChangedEventArgs e) 
{ 
    DetailsLabel.Content = ???; 
} 

回答

2

您可以閱讀所選項目的文本做這樣的事情:

ListBoxItem item = ((ListBox)sender).SelectedItem as ListBoxItem; 
String itemText = (item != null) ? item.Content.ToString() : String.Empty; 

你必須SelectedItem屬性轉換爲在列表中有對象的類型。 在這個例子中我使用了ListBoxItem。

+0

謝謝,這正是我一直在尋找的! – dotancohen 2012-03-18 01:34:36