gpt4 book ai didi

c# - 如何刷新 ViewModel 来更新 View

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:52 25 4
gpt4 key购买 nike

我在我的 MainPage 中实现了一个刷新应用程序栏按钮,我想使用此按钮的单击事件来重新加载 View 模型。但是,我不确定如何完成此操作。当我的 View 首次加载时, View 模型在 xaml 中被调用,如下所示:

DataContext="{Binding InformationProvider, Source={StaticResource DeviceInformationViewModel}}"

我的 View 模型在哪里

public class DeviceInformationViewModel
{
private static IInformationProvider informationProvider;

/// <summary>
/// Returns the device information to display.
/// </summary>
public IInformationProvider InformationProvider
{
get
{
if (informationProvider == null)
{
if (DesignerProperties.IsInDesignTool)
{
informationProvider = new FakeInformation();
}
else
{
informationProvider = new RealInformation();
}
}

return informationProvider;
}
}
}

InformationProvider 本质上只是从模型中获取设备信息。这是在加载应用程序时执行一次,尽管我也想在刷新按钮单击事件上执行此操作。我如何在 MainPage 的后台代码中完成此操作?另外,这是正确的方法吗?如果没有,我该如何着手完成这个解决方案?

最佳答案

与您的 View 模型的绑定(bind)不会更新,除非他们知道这样做。执行此操作的典型方法是在 View 模型上实现 INotifyPropertyChanged,然后在 View 模型上的属性更改时调用 NotifyPropertyChanged。在您的情况下,您可以简单地实现 INotifyPropertyChanged,然后为刷新按钮中的每个属性调用 NotifyPropertyChanged 方法。

关于c# - 如何刷新 ViewModel 来更新 View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946680/

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