如何将文本框绑定到listview SelectedItem和属性

时间:2016-04-18 20:39:43

标签: wpf listview selecteditem

今晚我有一个简短的问题要问你。我希望这是一个简单的。我有listview并绑定textboxes。我的意思是,当我点击listview时,我会在text boxes(窗口右侧)中看到详细信息。

的ListView:

ListView ItemsSource="{Binding ItemList}" SelectedItem="{Binding SelectedItem}"

文本框:

TextBox Text="{Binding SelectedItem.FirstName, UpdateSourceTrigger=PropertyChanged}"

这非常好用。但我想要实现的是更新文本框中的FirstName并将其写入数据库。而这就是我被困住的地步。如何获取更改的FirstName? SelectedItem对象只有未更改的值。

请你给我一个提示吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,TextBox.Text属性具有TwoWay绑定,这意味着源和目标都可以更新它。对于要更新它的源,如果它不是依赖属性而是一个好的旧.NET属性,则需要在类中实现INotifyPropertyChanged并使用包含已更改的事件args引发PropertyChanged事件财产名称。这将在源更改时正确更新UI。

另一方面,如果您从UI更新源代码,如果它具有setter,它将更新属性而不会出现问题。所以我认为你的方法没有任何问题。

要将其写入数据库,您可以使用一个按钮,单击该按钮将获取所选项目并更新数据库。