[]
        
(Showing Draft Content)

GrapeCity.Forguncy.Plugin.IReferencePage

接口 IReferencePage

如果插件中引用了页面名,一旦页面重命名后,插件中的相关属性的值就期望被同步;

这种情况下就需要实现这个接口,而且,当查找页面的引用时,插件中的相关属性也会被查找出来。

命名空间: GrapeCity.Forguncy.Plugin
程序集: GrapeCity.Forguncy.Plugin.dll
语法
public interface IReferencePage
示例
public class MyNavigatePageCommand : Command, IReferencePage
{
    public string NavigatePageName { get; set; }

    public IEnumerable<LocatedObject<string>> GetPageNames(LocationIndicator location)
    {
        var newLocation = location.AppendProperty("MyNavigatePageCommand");

        yield return new LocatedObject<string>(this.NavigatePageName, newLocation);
    }

    public void RenamePageName(string oldName, string newName)
    {
        if(string.Equals(this.NavigatePageName, oldName))
        {
            this.NavigatePageName = newName;
        }
    }
}

方法

GetPageNames(LocationIndicator)

返回插件中所有引用页面的信息。

声明
IEnumerable<LocatedObject<string>> GetPageNames(LocationIndicator location)
参数
类型 名称 描述
LocationIndicator location

坐标定位器。

返回值
类型 描述
System.Collections.Generic.IEnumerable<T><LocatedObject<string>>

返回插件中所有引用页面的信息。

RenamePageName(string, string)

一旦页面被重命名时会调用该函数,所以需实现该接口重命名插件中使用到的相关页面名。

声明
void RenamePageName(string oldName, string newName)
参数
类型 名称 描述
string oldName

重命名之前的页面名。

string newName

重命名之后的页面名。