C# 正在从可观察集合或列表()中获取项

C# 正在从可观察集合或列表()中获取项,c#,wpf,xaml,data-binding,microsoft-metro,C#,Wpf,Xaml,Data Binding,Microsoft Metro,我有一个叫做NotesList的列表框。我有一个名为noteList的可观察集合,还有一个名为NoteContents的文本框 在ObservableCollection中,我为一些项目设置了Filename和Contents属性,然后将其添加(绑定)到我的列表框中 但是现在,我想(当我点击一个按钮时)显示在NoteContents文本框中选择的ListBox项目的“内容” 我该怎么做 我目前有: private void NotesList_SelectionChanged(object se

我有一个叫做NotesList的列表框。我有一个名为noteList的可观察集合,还有一个名为NoteContents的文本框

在ObservableCollection中,我为一些项目设置了Filename和Contents属性,然后将其添加(绑定)到我的列表框中

但是现在,我想(当我点击一个按钮时)显示在NoteContents文本框中选择的ListBox项目的“内容”

我该怎么做

我目前有:

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

无需单击按钮即可完成此操作,如下所示:

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


在按钮上单击或在选择上更改?请显示集合中的内容,以及XAML。您现有的代码是否无效,或者您是否在寻求更好的解决方案?如果ObservableCollection中的对象实现INotifyPropertyChanged,则可以在将UpdateSourceTrigger设置为Explicit的绑定中执行此操作。这将允许您在按钮单击处理程序/ICommand中手动强制进行绑定更新。