WPF C#文本框文本更改ViewModel中的更新

时间:2014-02-12 14:14:55

标签: c# wpf mvvm textbox

您好我正在开发一个简单的MVVM项目;一个简单的文本/配置编辑器,它加载一个配置文件,然后在文件被更改的情况下检查ViewModel,它只是通过绑定一个布尔属性来启用Save菜单项。但是这里出现了一个问题,我在文本框控件中找不到任何可以绑定到vm属性的属性,以防文本中发生更改。我已经设法以某种方式通过在代码隐藏中创建一个事件来模拟这个:

(DataContext as AnalizeSectionViewModel).ContentChanged = true;

任何文本更改都会触发该事件。但我想从文本框绑定一个属性,如:

IsModified="{Binding ContentChanged}"

可以这样做吗?

1 个答案:

答案 0 :(得分:4)

您应该能够通过绑定

将Text文本框属性绑定到模型
Text="{Binding MyViewModelProperty}"

只要文本框中的文字改变了你的模型中的属性,就会发生变化,这会让你在发生这种情况时做“填充”。当用户移出场外时,这将触发属性更改事件。

现在,如果每次用户输入时都要触发它,那么你可以明确地使用

UpdateSourceTrigger="PropertyChanged"

通过将其设置为PropertyChanged,您将在每次文本更改时收到通知。