有没有办法编写自定义属性,如x:Name或x:在Xaml中共享?

时间:2014-02-03 13:20:10

标签: wpf xaml

我想这个标题解释了这一切。

我正在寻找一种使用自定义属性扩展xaml的方法。我知道有x:Name,x:Key,x:Shared,x:Class但有一种方法可以编写自定义属性。

有人试过这个吗?我不是在寻找附加的依赖属性。

我正在寻找那些扩展

2 个答案:

答案 0 :(得分:3)

简短的回答是:不,你不能。

x:*指令由XAML解析器直接读取。例如,查看x:Name或x:Key。这些没有相应的附加属性,它们都会在解析器中触发不同的特定行为。

当找到x:Name时,找到当前NameScope并添加项目,并将指定的名称作为键。类似的处理是使用x:Key指令完成的,使用IDictionary接口,如你所说。

由于WPF没有提供扩展解析器的方法(这是一种耻辱),所以你提出的问题是不可能的。

答案 1 :(得分:0)

我认为您正在寻找的是MarkupExtension类。有关MSDN的详细信息,请访问here