gpt4 book ai didi

wpf - MVVM 和事件

转载 作者:行者123 更新时间:2023-12-03 10:30:57 25 4
gpt4 key购买 nike

为了在使用模型- View - View 模型模式(又名演示模型)时将代码保持在 View 之外,我可以将命令作为属性公开在 View 模型中,并从 View 绑定(bind)到这些命令。这样,我的 View 可以完全用 XAML 编写,没有代码隐藏,除了对 InitializeComponent() 的强制构造函数调用之外。 .

这适用于实现 ICommandSource 的控件。 .但是,如果我想在文本框的文本发生变化时执行一些操作怎么办?编译器拒绝 XAML,我在其中设置了将不在代码隐藏文件上的处理程序附加到事件。

我可以编写一些在 View 模型中简单地运行命令(或方法)的事件处理程序,如下所示:

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
((EditPersonViewModel) DataContext).ChangeBioCommand.Execute(e.Changes);
}

这行得通,但我不喜欢我必须在我的 View 中编写如此丑陋的样板代码。有更好的解决方案吗?

最佳答案

您可以使用“附加命令行为”模式。 Marlon Grech 有一个很好的实现 here .

关于wpf - MVVM 和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1975683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com