C#-MVVM UpdateSourceTrigger
作者:互联网
我正在使用MVVM应用程序,并且具有用于修改许多网络参数(IP,SubnetMask等)的视图.
该视图包含绑定到NetworkConfigViewModel中的属性的多个文本框:
<TextBox>
<TextBox.Text>
<Binding Path="IP" UpdateSourceTrigger="PropertyChanged"/>
</TextBox.Text>
</TextBox>
... etc
该视图还包含一个名为“保存配置”的按钮.该按钮绑定到ViewModel中的RelayCommand上,该命令负责根据请求将配置保存到远程设备.
我想修改文本框绑定以使用UpdateSourceTrigger =“ Explicit”,以便仅当用户显式单击“保存配置”时更新ViewModel,而不是在修改值时进行更新.
我知道我需要为每个文本框调用BindingExpression.UpdateSource().如何以对MVVM友好的方式做到这一点?将新的RelayCommand添加到可识别UI元素的ViewModel似乎不正确.
解决方法:
确实,让ViewModel过多了解View是不好的.我最好更新设置的副本,并让绑定为我完成所有工作.用户单击“保存配置”按钮后,我会将更改进一步传播到存储库,模型或其他任何东西.
标签:updatesourcetrigger,wpf,c,mvvm 来源: https://codeday.me/bug/20191210/2100383.html