通过模型项附加属性

本文关键字:属性 模型 | 更新日期: 2023-09-27 18:14:03

如何使用ModelItemPath对象(或任何对象)上设置Attached Property ?

当然附加的属性没有在ModelItemProperties集合中列出,所以我不能使用通用语法:

myModelItem.Properties["MyAttachedProperty"].ComputedValue = newValue;

因为MyAttachedProperty不属于集合

我怎样才能达到这个结果?

通过模型项附加属性

这可以通过使用PropertyIdentifier来实现。

Canvas的例子。左属性:

var canvasLeftIdentifier = new Microsoft.Windows.Design.Metadata.PropertyIdentifier(typeof(System.Windows.Controls.Canvas), "Left");
myModelItem.Properties[canvasLeftIdentifier].SetValue(newValue);