0

抱歉,如果有类似的问题,我在搜索中找不到。这个问题看起来很相似,但还不够接近。

无论如何,就像标题中一样,我只是想确保我正在做的事情不会被认为是不好的做法,或者没有更好的方法,因为我现在的工作方式感觉不太正确(我'在数据绑定方面很新)。

无论如何,上代码:

所以我有一些我的 XAML 绑定到的属性,我想在属性更改时更新 XAML。问题是我更喜欢我不直接设置的属性,而是那些计算它们的值的属性。那么这是实现这一目标的良好/合法方式吗?

    public IPolicy Policy
    {
        get { return _policy; }
        set
        {
            _policy = value;
            OnPropertyChanged("HasAdminFee");
            OnPropertyChanged("AdminFeeMessage");
        }
    }
    public bool HasAdminFee
    {
        get { return Policy != null && Policy.ChargeAdminFeesValue > 0; }
    }
    public string AdminFeeMessage
    {
        get { return HasAdminFee ? string.Format(HasAdminFeeMessage, PolicyFact.ChargeAdminFeesValue) : NoAdminFeeMessage; }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(propertyName));
        }
    }

谢谢。

4

1 回答 1

1

你这样做是正确的。我认为这是一种有效且可接受的做法。在我目前正在开发的 WPF 应用程序中,我们使用这种方法。

于 2012-09-17T14:51:29.067 回答