gpt4 book ai didi

c# - 在 MVVM 中,如果 UI 不需要更新,模型中的属性是否需要属性更改事件?

转载 作者:行者123 更新时间:2023-12-03 11:01:54 28 4
gpt4 key购买 nike

我正在 WPF 中编写一个自动化应用程序,该应用程序有一个页面,要求用户输入用户名、密码、服务器名、数据库用户名和数据库密码。我正在尝试使用 MVVM 编写应用程序,并且一直在关注视频和在线资源,但是大多数消息来源只是说,如果您使用数据绑定(bind),则模型应该具有属性的属性更改事件,并且他们将其保留在那里。我的问题是,我将属性更改事件视为在应用程序中更新 UI 的一种方式,但在输入用户名或密码时我不需要更新 UI。我只需要将输入的用户名存储在属性中以供以后使用。因此,即使不需要更新 UI,我也想知道是否需要引发属性更改事件。

public class Model
{
private string username;
private string serverName;
private string password;

//this is where my question is
public string Username
{
get
{
return username;
}
set
{
if(username != value)
{
username = value;

//if the username doesn't need to be updated in the UI
//does the property changed event need to be raised or
//used?
RaisePropertyChanged(Username);
}
}
}
}

最佳答案

不,根据 Microsoft 文档,它只是用于更改通知,因此,如果您不需要它,则没有必要。但我建议您不要直接在您的模型上使用 de Property Change,将您的属性复制到您的 ViewModel,然后在那里使用。尽可能保持模型最干净。而且我认为如果您不需要更改属性,您的绑定(bind)可以只是一种方式,它对性能更好。

https://docs.microsoft.com/pt-br/dotnet/framework/wpf/data/how-to-implement-property-change-notification

关于c# - 在 MVVM 中,如果 UI 不需要更新,模型中的属性是否需要属性更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57927058/

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