سؤال

وفي كل مرة وأنا أكتب من واضعة التي 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 أن حل هذه:

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top