如何更新海燕窗口的名称?

2024-01-10

我正在尝试在保存事件后更新海燕窗口的名称/显示名称。

我实现了自己的 NameInfo 类,该类继承自 NameInfo 抽象类。

 public class MyNameInfo : NameInfo
    {
        private string name = string.Empty;
        private string displayName = string.Empty;
        private string typeName = string.Empty;

        public override bool CanChangeName
        {
             get { return true; } //I return true so I can change the name at runtime.
        }
        //Rest of the class implementation
     }

我的 DisplayName、Name 和 TypeName 必须相同,因此当名称更改时我的代码是:

public override string Name
        {
            get { return this.name; }
            set
            {
                name = value;
                displayName = value;
                typeName = value;
                OnNameChanged(this);
            }
        }

我在 DataSourceManager 的“Saved”事件中更改窗口的名称:

DataManager.DataSourceManager.Saved += OnSave;

我用来更新名称的代码是:

if(NameInfo.CanChangeName)
     NameInfo.Name = NewName;

但是当我更改名称时,它似乎仅在树中更新Windows window.

我的窗口的名称显示旧名称。

我不知道我还需要做什么才能实现我想要的目标。

我的窗口是自定义窗口

public class MyCustomWindow : ToggleWindow, INameInfoSource, IDeletable 
{

有没有办法更新窗口名称本身?

我是否必须将“MyCustomWindow”订阅到某些事件而我却没有这样做?

我将非常感谢您能为我提供的任何帮助!


如何在自定义窗口中创建 NameInfo?您需要将自定义窗口对象传递给 MyNameInfo,以便可以在自定义窗口对象上调用 OnNameChanged(window)。这是一个例子:

private MyNameInfo nameInfo = null;
public NameInfo NameInfo
{
  get
  {
    if (null == nameInfo)
    {
      nameInfo = new MyNameInfo(this);
    }
    return nameInfo;
  }
}

然后在 MyNameInfo 的 Name 属性的设置器中,

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

如何更新海燕窗口的名称? 的相关文章

随机推荐

  • 如何在 Nexmo 中向美国号码发送文本

    向菲律宾发送信息非常简单 但在美国的数字中 我必须进行验证 但我不知道如何进行 我开始了2F认证 但似乎我不知道下一步该怎么做 我的问题 如何在 Nexmo 中添加发送文本到美国号码 对于美国 您必须从您的 nexmo 帐户创建一个短代码
  • 来自本地 json 变量的 d3 饼图

    我正在尝试使用我见过的局部变量 而不是外部文件 中的 json 创建一个圆环图这个帖子 https stackoverflow com questions 10934853 d3 js loading json without a http
  • 由于格式不正确,加载程序集失败

    我开发了一个相当大的 Windows Forms net C 应用程序 其中包含多个程序集 最初 每个程序集都是为目标平台 任何 CPU 构建的 由于 x64 机器上的 Crystal Reports 存在问题 我们必须为 x86 目标平台
  • 如何在react-quill中注册对齐样式

    我在用着反应鹅毛笔 https www npmjs com package react quillnpm 包并在 nextjs 中动态导入它 我还使用 create next app 样板 我能够让反应鹅毛笔编辑器工作 但是 我无法获取使用
  • 地理编码器 Gem 无法在生产环境中工作

    所以我正在使用Geocoder https github com alexreisner geocoder根据用户提交表单时提供的地址提取纬度和经度坐标 我这样做是为了使用 Google 地图 API 绘制标记 这在开发中非常有效 零问题
  • .NET 4.5 中是否已弃用 ObjectContext?

    我一直在使用ObjectContexts已经很长一段时间了 现在我已经安装了 VS 2012 令我惊讶的是 实体数据模型没有创建代码生成项的选项ObjectContexts and EntityObjects代替DbContexts and
  • Mongoose 在 Node.js 中创建多租户支持连接

    我正在研究一种使用 node js mongoose 和 mongodb 实现多数据库以支持多租户的好方法 我发现 mongoose 支持一种名为createConnection 我想知道使用它的最佳实践 实际上 我将所有这些连接存储在一个
  • 基于智能指针的 CRTP 习惯用法的编译问题

    我正在尝试为 CRTP 示例编译一个最小的工作示例这篇博文 https www fluentcpp com 2017 09 12 how to return a smart pointer and use covariance 它基于智能指
  • 如何将一些“统计数据”从 C# 程序传递到另一个程序?

    我有一个命令行程序 可以 做很多工作 并产生 很多统计数据 它是股票交易软件 对于延迟 错误等非常重要 所以我不想向其中添加 GUI 此外 有时需要 GUI 但控制台应用程序应始终启动 我需要 GUI 来友好地显示收集的统计信息 以只读模式
  • 降低无向图的时间复杂度

    我有一个无向图 表示 Facebook 等社交媒体中的用户连接 有N个节点 从1到N 边由数组 from 和 to 表示 任务数组表示我有兴趣查找该节点 即社交媒体中的用户 的连接的节点号 Example N 5 From 2 2 1 1
  • ASP.NET Core 中 HttpContext 如何响应 END

    我想使用mvcSystem Web HttpContext Current Response End 但尝试使用以下代码在 mvc core 2 中 private readonly IHttpContextAccessor httpCon
  • 如何找出哪个视图是焦点?

    我需要查明活动中是否有任何视图聚焦以及它是什么视图 这个怎么做 Call getCurrentFocus http developer android com reference android app Activity html getC
  • 如何用 sed 替换整行?

    假设我有一个包含行的文件 aaa bbb 现在我想将它们替换为 aaa xxx 我可以这样做 sed s aaa bbb aaa xxx g 现在我有一个包含几行的文件 如下所示 aaa bbb aaa ccc aaa ddd aaa so
  • Microsoft Azure Bot Framework 模拟器未发送消息

    在我的 Windows 10 上 我安装了Microsoft Azure Bot 框架模拟器 https learn microsoft com en us azure bot service bot service debug emula
  • 获取具有特定 fieldName 的所有 lucene 值

    解决this https stackoverflow com questions 618227 faster way to get distinct values from lucene query问题 我创建了一个新的 Lucene 索引
  • 如何从远程文件(Java)获取修改日期?

    我有一个从远程 URL 下载文件的功能 使用 Java 现在我想知道真正的修改日期 因为当我下载它时我丢失了此信息 提前致谢 public void downloadFile String remoteFile String localFi
  • setColorFilter 有时在 Android 可绘制对象上不起作用

    我正在尝试根据用户在偏好中选择的原色在可绘制对象上应用滤色器 这是我正在使用的一段代码 getResources getDrawable R drawable ic batman 1 setColorFilter ColorHelper g
  • argparse 和互斥组,每个组都有自己所需的设置

    我有一个程序需要有一个选项来测试服务器 ID 列表OR对服务器发出命令 这意味着 如果我发出 test 那么不需要其他任何东西 它对每台服务器运行全部测试并打印结果 但是 如果我不指定 test 那么它应该需要一些选项 例如 id and
  • 检查 SQLite 中是否存在列

    我需要检查列是否存在 如果不存在则添加它 根据我的研究 sqlite 似乎不支持 IF 语句 应该使用 case 语句 这是我到目前为止所拥有的 SELECT CASE WHEN exists select from qaqc column
  • 如何更新海燕窗口的名称?

    我正在尝试在保存事件后更新海燕窗口的名称 显示名称 我实现了自己的 NameInfo 类 该类继承自 NameInfo 抽象类 public class MyNameInfo NameInfo private string name str