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

2023-12-10

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

Title="{Binding WindowTitle}"

该属性看起来像这样:

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

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

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

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


那是因为 WPF 无法知道这一点WindowTitle依赖于取决于CurrentProfileName。你的班级需要实施INotifyPropertyChanged,当你改变值时CurrentProfileName,你需要提高PropertyChanged活动为CurrentProfileName and WindowTitle

private string _currentProfileName;
public string CurrentProfileName
{
    get { return __currentProfileName; }
    set
    {
        _currentProfileName = value;
        OnPropertyChanged("CurrentProfileName");
        OnPropertyChanged("WindowTitle");
    }
}

UPDATE

这是一个典型的实现INotifyPropertyChanged :

public class MyClass : INotifyPropertyChanged
{
    // The event declared in the interface
    public event PropertyChangedEventHandler PropertyChanged;

    // Helper method to raise the event
    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
            handler(this, new PropertyChangedEventArgs(propertyName);
    }

    ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 在启用 OpenCL 的情况下构建 OpenCV

    我正在尝试在 OpenCV 上启用 OpenCL 来运行简单的代码 我已经阅读了 OCL 文档的介绍 并且按照说明 我使用以下标志构建了 opencv WITH OPENCL ON 我通过执行 cmake DWITH OPENCL ON 来
  • Opa:如何操作字符串映射(和其他映射)

    我想创建一个 Stringmap 在其中添加一些值 然后向其传递一些函数 我试过这个 import stdlib core map mymap StringMap empty mymap rabbit 12 function addmap
  • 需要在 codeigniter 中动态分配 $config['base_url'] 吗?

    我需要分配 config base url 动态地在config php每次 url 命中时 有什么解决办法吗 通常 我们使用 config base url 来存储域名 为什么你需要在每次刷新时存储它 如果你想让它在不同的域上动态 尝试以
  • 如何使用 SparkAR 网络模块获取 JSON

    我想使用 SparkAR 的网络模块从 URL 获取数据 并显示它 我尝试了 Spark AR 文档中的示例 但效果不大 https developers facebook com docs ar studio reference clas
  • Tomcat 9 中需要两个共享数据库的服务

    我想在两个端口 8080 8181 上使用不同的代码库运行两个tomcat服务 但共享相同的数据库资源 当我这样做时 我得到 javax naming NameNotFoundException 名称 comp env jdbc mydb
  • HTTP 302 在 IE 中失败的服务器之间重定向,在 FF 和 Chrome 中工作

    在构建通过第三方服务器重定向进行身份验证的登录系统时 我在 IE 中遇到空白屏幕 据说浏览器在失败时会在我的服务器上请求返回页面 登录是这样的 用户请求http www myserver com 并返回 302 重定向到http www m
  • 创建两列布局 - html/css 语义

    我想创建一个非常简单的具有 2 列的液体布局 左边的一列将具有固定的宽度 右边的一列将取决于窗口大小 布局将包含 4 个元素 页眉 导航 内容和页脚 根据 HTML5 元素的语义 我有几个问题 这是代码 div div
  • 在 android 的文本视图中创建可点击的链接

    我有一些主题标签TextView以 开头 示例 one two 你好世界 三 我希望这些哈希标签可单独单击并打开一个活动并在该活动中获取此文本 因此 这些哈希值充当链接并打开活动 此外 标签不是固定的 意味着可以是任何文本 还将哈希标签的颜
  • 导出 dll 中的模板类未解析的外部

    我正在尝试创建一个导出模板类的类库 dll 我有同一个类的本地版本 这一定是巧合 但它工作正常 我知道这并没有多大意义 显然有些地方出了问题 库dll中导出的模板类为 template
  • 未在预期位置捕获 LINQ 查询的异常

    我正在使用 LINQ 查询将输入字符串解析为类 我已将查询包装在 try catch 块中以处理解析错误 问题是异常没有在我期望发生的点被捕获 它仅在生成的对象 parsedList 被访问 我是否误解了 LINQ 的工作原理或异常的工作原
  • innerHTML 从图像标签中删除结束斜杠

    这很奇怪 这是一个快速测试功能 function test function code img src http www myimage com img jpg alt image alert code document getElemen
  • Spring MVC 控制器中的 JSON 参数

    I have RequestMapping method RequestMethod GET ResponseBody SessionInfo register UserProfile profileJson 我这样传递 profileJs
  • 编辑 GtkWidget 属性/特性

    在大多数 pygtk 小部件页面中 它们包含名为 属性 属性 和 样式属性 的部分 如何更改这些特性和属性 改变属性的方法有以下三种 正如 zheoffec 的回答一样 使用set property 函数 或set style proper
  • ASP.NET MVC 模式

    我对 MVC 相当陌生 但在使用它 MVC 3 Razor 之后 我就着迷了 我有几个问题 1 开发 MVC 应用程序的最佳或最广泛使用的模式是什么 存储库 DDD UOW 2 我正在使用实体框架 4 所以有人可以向我解释一下或者给我指出一
  • PHP 简单 HTML DOM 解析器 - RSS 中的链接元素

    我刚刚开始使用 PHP Simple HTML DOM Parser http simplehtmldom sourceforge net 并且在解析 XML 时遇到一些问题 我可以完美地解析 HTML 文档中的所有链接 但无法解析 RSS
  • 为什么 MSHTML for .Net 没有 querySelector 和 querySelectorAll,或者它们在哪里?

    我想在 IE 中使用 MSHTML 1 访问 DOM 但我刚刚发现它缺少 HTML 文档类中的 querySelector 和 querySelectorAll 方法 否则这对于通过 CSS 选择器获取文档中的元素非常有帮助 目前我能想到的
  • 单个元素的引用行为与数组容器的引用状态是分离的吗?

    这意味着什么 换句话说 数组的引用行为是在逐个元素的基础上定义的 各个元素的引用行为与数组容器的引用状态是分离的 如何将单个元素与数组容器的引用状态分离 我正在彻底doc我很困惑这是什么意思
  • 在同一字符串中用连字符替换逗号或空格

    我需要 PHP 代码来用连字符替换逗号或空格 例如 如果 value home garden or value home garden 我需要结果为home garden I tried result preg replace s trim
  • Firebase 连接状态侦听器在 JavaScript 中返回 false

    每次我运行这个脚本时 它第一次显示 未连接 之后显示 已连接 为什么总是先触发 未连接 有一些主题具有与此相同的问题link 但没有答案 var connectedRef firebase database ref info connect
  • WPF - 用于查看模型属性的数据绑定窗口标题

    我正在尝试将窗口标题绑定到视图模型中的属性 如下所示 Title Binding WindowTitle 该属性看起来像这样