自定义markupextension自定义DataTemplate属性

时间:2014-09-23 06:48:45

标签: wpf datatemplate markup-extensions

我想知道是否有办法在从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?

0 个答案:

没有答案