首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mvvm light调用RaisePropertyChanged不会触发属性getter(windows phone 8.1)

MVVM Light是一个轻量级的MVVM框架,用于开发Windows Phone、Windows和WPF应用程序。它提供了一套简单易用的工具和模板,帮助开发人员实现MVVM模式。

在MVVM Light中,RaisePropertyChanged方法用于通知视图模型的属性值发生了变化,从而触发视图的更新。但在Windows Phone 8.1中,调用RaisePropertyChanged方法不会自动触发属性的getter方法。

这是因为在Windows Phone 8.1中,属性的getter方法默认不会被调用,除非属性的值在内部发生了变化。而RaisePropertyChanged方法只是通知属性值发生了变化,但并没有实际改变属性的值,因此不会触发属性的getter方法。

如果希望在调用RaisePropertyChanged方法后触发属性的getter方法,可以在属性的setter方法中手动调用getter方法,例如:

代码语言:txt
复制
private string _name;
public string Name
{
    get { return _name; }
    set
    {
        if (_name != value)
        {
            _name = value;
            RaisePropertyChanged(nameof(Name));
            RaisePropertyChanged(nameof(FullName)); // 手动调用FullName属性的getter方法
        }
    }
}

public string FullName
{
    get { return $"Hello, {Name}!"; }
}

在上述代码中,当Name属性的值发生变化时,除了调用RaisePropertyChanged方法通知视图更新Name属性外,还手动调用了FullName属性的getter方法,从而触发了FullName属性的更新。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ai
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iotexplorer
  • 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云游戏引擎(GSE):https://cloud.tencent.com/product/gse
  • 腾讯云直播(CSS):https://cloud.tencent.com/product/css
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券