编程语言
首页 > 编程语言> > C#-MVVM UpdateSourceTrigger

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