今晚我有一个简短的问题要问你。我希望这是一个简单的。我有listview
并绑定textboxes
。我的意思是,当我点击listview
时,我会在text boxes
(窗口右侧)中看到详细信息。
的ListView:
ListView ItemsSource="{Binding ItemList}" SelectedItem="{Binding SelectedItem}"
文本框:
TextBox Text="{Binding SelectedItem.FirstName, UpdateSourceTrigger=PropertyChanged}"
这非常好用。但我想要实现的是更新文本框中的FirstName并将其写入数据库。而这就是我被困住的地步。如何获取更改的FirstName? SelectedItem
对象只有未更改的值。
请你给我一个提示吗?
答案 0 :(得分:0)
默认情况下,TextBox.Text
属性具有TwoWay
绑定,这意味着源和目标都可以更新它。对于要更新它的源,如果它不是依赖属性而是一个好的旧.NET属性,则需要在类中实现INotifyPropertyChanged
并使用包含已更改的事件args引发PropertyChanged
事件财产名称。这将在源更改时正确更新UI。
另一方面,如果您从UI更新源代码,如果它具有setter,它将更新属性而不会出现问题。所以我认为你的方法没有任何问题。
要将其写入数据库,您可以使用一个按钮,单击该按钮将获取所选项目并更新数据库。