首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NET4.5XAML绑定到静态属性的更新,工作正常,但是有更好的方法吗?

NET4.5XAML绑定到静态属性的更新,工作正常,但是有更好的方法吗?
EN

Stack Overflow用户
提问于 2015-08-26 22:09:25
回答 1查看 178关注 0票数 1

我很抱歉,如果它是重复的,但我找不到与这个问题相似的问题。

从stackoverflow的其他问题(这个站点非常棒)中,我发现了如何使用事件更新将XAML项绑定到静态类。它是这样工作的:

XAML:

代码语言:javascript
复制
 <Label x:Name="label_cc_CPUPOWER" Content="{Binding Path=(database:Database.CPU_CPUPOWER)}"...

代码:

代码语言:javascript
复制
    public static class Database
{

    #region Event firing
    public static event EventHandler<PropertyChangedEventArgs> StaticPropertyChanged;
    private static void NotifyStaticPropertyChanged(string propertyName)
    {
        if (StaticPropertyChanged != null)
            StaticPropertyChanged(null, new PropertyChangedEventArgs(propertyName));
    }
    #endregion


    //CPU
    private static string _CPU_CPUCLOCK;
    public static string CPU_CPUCLOCK
    {
        get { return _CPU_CPUCLOCK; }
        set
        {
            if (value != _CPU_CPUCLOCK)
            {
                _CPU_CPUCLOCK = value;

                NotifyStaticPropertyChanged("CPU_CPUCLOCK");
            }
        }
    }

    private static string _CPU_CPUPOWER;
    public static string CPU_CPUPOWER
    {
        get { return _CPU_CPUPOWER; }
        set
        {
            if (value != _CPU_CPUPOWER)
            {
                _CPU_CPUPOWER = value;

                NotifyStaticPropertyChanged("CPU_CPUPOWER");
            }
        }
    }

它是有效的,我真的很感谢你,因为我不需要自己解决所有的问题,但我有大约25-50个这样的值要存储。我想知道是否有一种方法可以自动完成此操作,而不是复制/粘贴在括号中更改名称?

我也想过为每个对象列出一个列表,比如CPU,内存,然后发送EventChanged到整个对象,但是我正在尝试最小化cpu的使用率,我把PropertyChanged提升到所有的对象,而我只想更新五个对象中的两个并不是一个好的方法,因为整个对象的值都会被刷新。

问候

EN

回答 1

Stack Overflow用户

发布于 2015-08-26 22:16:24

是的,有,看看这个:PropertyChanged.Fody

然后你所要做的就是添加:

代码语言:javascript
复制
using PropertyChanged;
...
[ImplementPropertyChanged]
public class MyClass
{
  public object Object {get;set;} 
// INotifyPropertyChanged implemented automatically @ compile-time
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32228987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档