2012-09-14 75 views
0

我有一個名爲NotesList的ListBox。我有一個名爲noteList的ObservableCollection,我有一個名爲NoteContents的TextBox。從Observable Collection或List獲取項目()

在我的ObservableCollection中,我爲幾個項目設置了Filename和Contents屬性,然後它被添加(綁定)到我的ListBox。

但是現在我想(當我點擊一個按鈕時)顯示在NoteContents文本框中選擇的列表框項目的「內容」。

我該怎麼做?

我目前有:

private void NotesList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    NoteContents.Text = noteList.Where(x => x.Filename.Contains(NotesList.SelectedValue.ToString())).FirstOrDefault().Contents; 
} 
+0

在ButtonClick或上的SelectionChanged? –

+0

請顯示集合中的內容以及XAML。 –

+2

您現有的代碼無法工作,或者您在尋求更好的解決方案嗎?如果ObservableCollection中的對象實現INotifyPropertyChanged,則可以通過將UpdateSourceTrigger設置爲Explicit來進行綁定。這將允許您手動在您的按鈕點擊處理程序/ ICommand中強制進行綁定更新。 – Dutts

回答

2

你可以做到這一點沒有按鈕點擊,只是結合,如:

<ListBox Name="NotesList" ItemsSource="{Binding YourObservableCollection}"> 
    <!--Your bindings here--> 
</ListBox> 
<TextBox Text="{Binding ElementName=NotesList, Path=SelectedItem.Contents}" /> 
+0

哦謝謝老兄! –

+0

不客氣! – michele

相關問題