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; } } }