質問

Value プロパティの値がインラインで記述できないセッターを作成するたびに、 Setter クラスを<でマークしないという事実を呪いますcode> [ContentProperty(&quot; Value&quot;)] 、これにより許可されます:

<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 で使用できるようにすることを妨げるものはありますか?

役に立ちましたか?

解決

確かに良い点...しかし、System.Windows.Setterから継承した独自のSetterクラスを簡単に作成し、それにContentProperty属性を設定して、標準のSetterの代わりに使用することができます。

他のヒント

この質問をしてから10年と18日後に、新しくオープンソース化されたWPFには、これを修正するPRが提出されています。

https://github.com/dotnet/wpf/pull/745

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top