1.描述
当页面名称发生变化时,引用该页面的插件的属性值应该被重新命名。在这种情况下,插件应该实现IReferencePage接口,不仅可以同步重命名属性,而且可以找到该页面的所有引用。
2.同步引用
下面的示例中,展示了如何使用这个接口。
public class MyCellType : CellType, IReferencePage
{
public string ReletedPageName
{
get; set;
}
/// <summary>
/// 当找到页面的所有引用时,将调用该方法。
/// </summary>
/// <param name="location"></param>
/// <returns></returns>
public IEnumerable<LocatedObject<string>> GetPageNames(LocationIndicator location)
{
if (!string.IsNullOrEmpty(this.ReletedPageName))
{
yield return new LocatedObject<string>(this.ReletedPageName, location.AppendProperty("ReletedPageName"));
}
}
/// <summary>
/// 当重命名页面时,将调用该方法。
/// </summary>
/// <param name="oldName"></param>
/// <param name="newName"></param>
public void RenamePageName(string oldName, string newName)
{
if (string.Equals(this.ReletedPageName, oldName))
{
this.ReletedPageName = newName;
}
}
}