每次我写出一个其Value
属性值无法内联描述的setter时,我都会诅咒API没有用Setter
标记[ContentProperty("Value")]
类的事实,允许这样:
<Setter Property="BitmapEffect">
<Setter.Value>
<OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" />
</Setter.Value>
</Setter>
......简化为:
<Setter Property="BitmapEffect">
<OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" />
</Setter>
所以我的问题有点双重。首先,有没有一个很好的理由没有以这种方式配置API?其次,即使我不控制WPF API,有什么能阻止我以XamlReader
的形式提供这些元数据吗?
答案 0 :(得分:2)
确实很好......但是您可以轻松创建自己的继承自System.Windows.Setter的Setter类,将ContentProperty属性放在其上,并使用它而不是标准的Setter。
答案 1 :(得分:2)
问了这个问题十年零十八天后,新开源的WPF提交了一份PR来解决此问题: