GraphLinksModelNodeData
GraphLinksModel 的节点数据简单表示,支持通过 INotifyPropertyChanged, ICloneable 和 IChangeDataValue 接口进行属性更改通知,复制并撤销.
实现: INotifyPropertyChanged, IChangeDataValue, ICloneable
构造函数
public GraphLinksModelNodeData()
graphLinksModelNodeData = GraphLinksModelNodeData()
默认构造器生成一个空对象 。
public GraphLinksModelNodeData(NodeKey key)
graphLinksModelNodeData = GraphLinksModelNodeData(key)
此构造器还初始化了密钥属性 。
- key
属性
public string Category { get; set; }
value = graphLinksModelNodeData.Category
graphLinksModelNodeData.Category = value
获取或设置一个字符串,以命名节点数据所属的类别。
public bool IsLinkLabel { get; set; }
value = graphLinksModelNodeData.IsLinkLabel
graphLinksModelNodeData.IsLinkLabel = value
获取或设定此节点数据是否代表链接上的"标签"而不是简单的节点.
public virtual bool IsSubGraph { get; set; }
value = graphLinksModelNodeData.IsSubGraph
graphLinksModelNodeData.IsSubGraph = value
获取或设定此节点数据是否代表一个组或"子图",而不是一个普通"原子"节点.
public bool IsSubGraphExpanded { get; set; }
value = graphLinksModelNodeData.IsSubGraphExpanded
graphLinksModelNodeData.IsSubGraphExpanded = value
获取或设定此节点是否处于"扩展"状态.
public NodeKey Key { get; set; }
value = graphLinksModelNodeData.Key
graphLinksModelNodeData.Key = value
获取或设置此节点数据的密钥属性 。
public Point Location { get; set; }
value = graphLinksModelNodeData.Location
graphLinksModelNodeData.Location = value
获取或设置一个点,即模型坐标中节点的位置.
public IList<NodeKey> MemberKeys { get; set; }
value = graphLinksModelNodeData.MemberKeys
graphLinksModelNodeData.MemberKeys = value
获取或设置成员节点的引用列表.
public NodeKey SubGraphKey { get; set; }
value = graphLinksModelNodeData.SubGraphKey
graphLinksModelNodeData.SubGraphKey = value
获取或设置包含的子图节点的引用,如果有的话.
public string Text { get; set; }
value = graphLinksModelNodeData.Text
graphLinksModelNodeData.Text = value
获取或设置与节点相关的字符串 。
public bool WasSubGraphExpanded { get; set; }
value = graphLinksModelNodeData.WasSubGraphExpanded
graphLinksModelNodeData.WasSubGraphExpanded = value
获取或设定这个节点是否在含有该节点的组被"相撞"时被"扩展".
方法
public virtual void ChangeDataValue(ModelChangedEventArgs e, bool undo)
graphLinksModelNodeData.ChangeDataValue(e, undo)
这种方法执行IChangeDataValue接口,用于执行撤销和重做状态的更改.
- e
- 描述要执行的更改的编辑器
- undo
- 撤销时为真; 重做时为假
public virtual object Clone()
result = graphLinksModelNodeData.Clone()
创建此数据的复制; 此执行 ICloneble 接口 。
protected virtual string ConvertNodeKeyToString(NodeKey key)
result = graphLinksModelNodeData.ConvertNodeKeyToString(key)
将密钥值转换为字符串。
- key
返回值: a 字符串, 字符串可以从中恢复原始密钥值
protected virtual NodeKey ConvertStringToNodeKey(string s)
result = graphLinksModelNodeData.ConvertStringToNodeKey(s)
将字符串转换为密钥值。
- s
返回值: a 包括未缴摊款、未缴摊款、
public virtual void LoadFromXElement(XElement e)
graphLinksModelNodeData.LoadFromXElement(e)
用为 XML XElement 保存的 Linq 数据初始化此节点数据 。
- e
- 元素
public virtual XElement MakeXElement(XName n)
result = graphLinksModelNodeData.MakeXElement(n)
构造一个 Linq 用于 XML XElement 持有此节点的数据 。
- n
- 名称
返回值: 初始化的元素
public virtual void OnPropertyChanged(ModelChangedEventArgs e)
graphLinksModelNodeData.OnPropertyChanged(e)
Raise the PropertyChanged event.
- e
protected void RaisePropertyChanged(string pname, object oldval, object newval)
graphLinksModelNodeData.RaisePropertyChanged(pname, oldval, newval)
从属性设置器中调用此方法来提升 PropertyChanged 事件 。
- pname
- 属性名称
- oldval
- 属性设定前的值
- newval
- 新的数值
public override string ToString()
result = graphLinksModelNodeData.ToString()
对于调试,使用密钥属性作为此对象的默认文本渲染.
事件
public event PropertyChangedEventHandler PropertyChanged
graphLinksModelNodeData.PropertyChanged += handler
此事件执行 INotifyPropertyChanged 接口,这样模型和依赖对象系统都可以得知属性值的变化.