我想知道是否有办法在从datatemplate派生的类型的自定义属性上使用自定义标记扩展?
我需要在DataTemplates中添加一些其他信息:
public class MyDataTemplate : DataTemplate
{
public string GroupName { get; set; }
public string TemplateKey { get; set; }
public object Geometry { get; set; }
}
<MyDataTemplate x:Key="Foo" DataType="{x:Type system:String}" GroupName="Group1"
Geometry="{telerik:CommonShape ShapeType=RectangleShape}">
...
</MyDataTemplate>
当我将CommonShape
markupextension放在DataType属性上时,一切正常。
当我将x:Type
markupextension放在Geometry属性上时,一切都有效。
但是如果我将自定义markupextension放在自定义属性上,我会收到错误
The property 'Geometry' cannot be set as a property element on template.
Only Triggers and Storyboards are allowed as property elements.
有没有解决方法呢?
亚历
编辑: 一种可能的解决方法是将markupextension的值放入资源字典中并在Geometry属性上使用StaticResource - 但是,我不确定这是否可以使用xaml?