【问题标题】:How to bind a text box to listview SelectedItem and to a property如何将文本框绑定到 listview SelectedItem 和属性
【发布时间】:2016-04-18 20:39:42
【问题描述】:

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

列表视图:

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

文本框:

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

这很好用。但我想要实现的是更新文本框中的 FirstName 并将其写入数据库。这就是我卡住的地方。如何获取更改后的名字? SelectedItem 对象只有未更改的值。

请给我一个提示好吗?

【问题讨论】:

  • 在 SelectedItem.FirstName 上设置一组

标签: wpf listview selecteditem


【解决方案1】:

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

另一方面,如果您从 UI 更新源,如果它有一个 setter,它将毫无问题地更新属性。所以我认为你的方法没有任何问题。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 2017-08-05
    • 2023-04-06
    • 2016-02-22
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多