c# - TextBox.Text 绑定(bind)到 ViewModel 的属性

标签 c# wpf binding properties textbox

我在使用两种方式将 TextBox 内容绑定(bind)到另一个类中的属性时遇到问题。搜索 stackoverflow 给出了很多提示/解决方案,但似乎都没有用。

在我的 XAML 代码中我有:

< TextBox ... Width="336" IsReadOnly="True"
 Text="{Binding Path=AssignedClearProgram, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>

(...我删除了所有不重要的项目)

在附带的cs代码中我有:

public CombiWindow(Combi combi)
{
    ViewModel = new CombiViewModel(combi);
    DataContext = ViewModel;
}

在 CombiViewModel 中:

    [UsedImplicitly]
    public string AssignedClearProgram { get; set; }

似乎我第一次分配 AssignedClearProgram 时,文本框填充了我设置的文本,但是在显示窗口并从代码更新 AssignedClearProgram 后(即调用 set 方法),数据不是在屏幕上更新。

当这个变量改变时,有人有更新文本框的解决方案吗?

亲切的问候,

米歇尔

最佳答案

您的 View 模型类需要实现 INotifyPropertyChanged 并且您需要在更改属性时引发该接口(interface)的事件。然后绑定(bind)将发现更改并更新文本框。

关于c# - TextBox.Text 绑定(bind)到 ViewModel 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596161/

相关文章:

wpf - 禁用对 WPF MVVM 中 DataGrid 中自动生成的列进行排序

Javascript 按名称绑定(bind)事件处理函数

c# - 如何将经度和纬度字符串转换为 double ?

c# - C# 的 Actors 有什么好的实现吗?

wpf - 使用 WrapPanel 样式化 ListView.GroupStyle

javascript - Angularjs - 动态地将属性值附加到绑定(bind)对象。如何?

javascript - 在包装集上绑定(bind) jQuery 单击事件

c# - 使用 ToString() 获得与 String.Format 相同的结果

c# - WPF - 关于带有嵌入式 TextBlock 元素的禁用超链接的工具提示

c# - 从 WPF 应用程序的文本框中获取用户输入