2012-03-17 10 views
0

Labelを2つのListBoxにバインドする必要があります。これを行うために、私は、同じ機能の両方ListBox ESのSelectionChangedプロパティを設定していますリストボックスごとにラベルオブジェクトを選択しました

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

私が選択した項目が実際に何であるか見つけるの問題を抱えていますが。私は、送信オブジェクトとSelectionChangedEventArgsのすべてのプロパティを通過しましたが、私はそれを見つけることができません。 ListBoxObservableCollectionのオブジェクトにバインドされています。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

関連する問題