WPF - 用于查看模型属性的数据绑定窗口标题

时间:2009-10-02 18:12:54

标签: wpf data-binding window

我正在尝试将我的窗口标题绑定到我的视图模型中的属性,如下所示:

Title="{Binding WindowTitle}"

该属性如下所示:

    /// <summary>
    /// The window title (based on profile name)
    /// </summary>
    public string WindowTitle
    {
        get { return CurrentProfileName + " - Backup"; }
    }

CurrentProfileName属性派生自另一个属性(CurrentProfilePath),只要有人打开或保存配置文件,该属性就会设置。在初始启动时,窗口标题设置正确,但是当CurrentProfilePath属性发生更改时,更改不会像我预期的那样冒泡到窗口标题。

我认为我不能在这里使用依赖属性,因为该属性是派生属性。派生它的基本属性是依赖属性,但似乎没有任何影响。

如何根据此属性使表单标题自行更新?

1 个答案:

答案 0 :(得分:9)

那是因为WPF无法知道WindowTitle取决于CurrentProfileName。您的课程需要实施INotifyPropertyChanged,当您更改CurrentProfileName的值时,您需要针对PropertyChanged {举起CurrentProfileName事件{1}}

WindowTitle

更新

以下是private string _currentProfileName; public string CurrentProfileName { get { return __currentProfileName; } set { _currentProfileName = value; OnPropertyChanged("CurrentProfileName"); OnPropertyChanged("WindowTitle"); } } 的典型实现:

INotifyPropertyChanged