我正在尝试在保存事件后更新海燕窗口的名称/显示名称。
我实现了自己的 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”订阅到某些事件而我却没有这样做?
我将非常感谢您能为我提供的任何帮助!