ListView绑定中的SelectedItem

我是WPF的新手。 在我的示例应用程序中,我使用ListView来显示属性的内容。 我不知道如何将ListView中的SelectedItem绑定到属性,然后绑定到TextBlock。

Window.xaml

                         

MainWindow.xaml.cs

 Tman manager = new Tman(); private List persons; public List Persons { get { return this.persons; } set { if (value != null) { this.persons = value; } } } private Person currentSelectedPerson; public Person CurrentSelectedPerson { get { return currentSelectedPerson; } set { this.currentSelectedPerson = value; } } private void Window_Loaded(object sender, RoutedEventArgs e){ ListViewPersonDetails.ItemsSource= manager.GetPersons(); } 

Person.cs

 class Person { public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } } 

谢谢你的帮助。

 private void Window_Loaded(object sender, RoutedEventArgs e){ ListViewPersonDetails.ItemsSource= manager.GetPersons(); } 

这可能是你的问题,你不应该像这样设置itemssource。 只需用这条线替换……

 this.DataContext = this; 

这是将属性绑定到UI的内容,因此所有这些绑定语句都有任何意义。

您还需要更新文本块上的绑定,以实际匹配Person类中的属性名称。

             

编辑:

在VS中测试,你还需要1个小东西,在CurrentSelectedPerson属性上实现INotifyPropertyChanged ……

 private Person currentSelectedPerson; public Person CurrentSelectedPerson { get { return currentSelectedPerson; } set { currentSelectedPerson = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("CurrentSelectedPerson")); } } 

作为替代方案,这也有效,有点简单……

     

(对其他文本框重复类似的逻辑)