هل هناك سبب وجيه أن Setter.Value ليس ContentProperty؟
-
06-07-2019 - |
سؤال
وفي كل مرة وأنا أكتب من واضعة التي Value
قيمة العقار لم يعد مضمنة للوصف، ألعن حقيقة أن 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
بطريقة أو بأخرى، على الرغم من أنني لا تسيطر على API WPF؟
المحلول
ونقطة جيدة حقا ... ولكن هل يمكن بسهولة إنشاء صفك واضعة الخاصة الموروثة من System.Windows.Setter، وطرح السمة ContentProperty على ذلك، واستخدامه بدلا من واضعة القياسية.
نصائح أخرى
وعشر سنوات وثمانية عشر يوما بعد طرح هذا السؤال، وبرنامج الأغذية العالمي مفتوح المصدر حديثا قد قدم PR أن حل هذه:
لا تنتمي إلى StackOverflow