Dot-Net
Setter.Value 不是 ContentProperty 有充分的理由嗎?
每次我寫出一個
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 是否有充分的理由?
XamlReader其次,即使我不控制 WPF API ,是否有任何東西阻止我以某種方式提供這些元數據?
確實是好點…但是您可以輕鬆地創建自己的從 System.Windows.Setter 繼承的 Setter 類,將 ContentProperty 屬性放在它上面,然後使用它來代替標準的 Setter。
在問了這個問題十年零十八天之後,新開源的 WPF 送出了一個 PR 來解決這個問題: