【发布时间】:2013-04-29 09:23:44
【问题描述】:
我有一个这样的 XAML
<ml:Visualizer Smooth="True" />
最近我们添加了不同类型的预处理,例如平滑、模糊、锐化等 现在我们这样写
<ml:Visualizer>
<ml:Visualizer.Effect>
<thirdParty:Smoothing/>
</ml:Visualizer.Effect>
</ml:Visualizer>
是否可以将属性分配为 XML 属性,但可能无需编写自定义类型转换器或 MarkupExtensions。目标是为属性分配一个简短的语法,但实际效果可以稍后由第三方作为 DLL 提供,我们需要在 XAML 中引用它们。
<ml:Visualizer Effect="{thirdParty:Smoothing}" /> <!-- BUT WITH NO CUSTOM MARKUP EXTENSION -->
如果确实有可能,那么下一个级别将是设置效果的属性(即使只有一个默认构造函数可用)。
<ml:Visualizer Effect="{thirdParty:Smoothing Factor=5}" /> <!-- BUT WITH NO CUSTOM MARKUP EXTENSION -->
我知道它看起来像一个标记扩展,但是为每个引入的效果编写单独的标记扩展太乏味了。看起来太基本了,没有解决方案:)
有什么建议吗?
提前致谢!
【问题讨论】:
标签: xaml