كيفية ربط الحدث الذي تم فحصه لزر الراديو في WPF؟
-
23-09-2019 - |
سؤال
أنا أستخدم الترميز التالي في WPF:
<StackPanel.Triggers>
<EventTrigger RoutedEvent="RadioButton.Checked" SourceName="xmlRadioButton">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource ShowXmlPanel}"/>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="RadioButton.Checked" SourceName="adiRadioButton">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource ShowAdiPanel}"/>
</EventTrigger.Actions>
</EventTrigger>
</StackPanel.Triggers>
على الرغم من أن هذا يعمل بشكل جيد عندما أقوم بتشغيل الكود ، إلا أنني أحصل على الخطأ التالي في نافذة المصمم مقابل 2008:
لا يمكن تعيين قيمة "radiobutton.chected" إلى خاصية "RoutedEvent". اسم الحدث غير صالح.
أي فكرة لماذا ، وكيف يمكنني إصلاح هذا؟
المحلول
RadioButton
هو ToggleButton
. المصمم يدعم المرفق ToggleButton
الخصائص ، ولكن ليس RadioButton
منها (باستثناء أ RadioButton
علامة بالطبع).
تحتاج إلى استخدام اسم الفصل الذي يحدد العقار/الحدث للمصمم لقبوله (يعتقد أنه لا يوجد فرق في وقت التشغيل ، منذ ذلك الحين RadioButton
هو ToggleButton
كما قلت ، لكن المصمم ليس مترجمًا حقيقيًا).
لذلك في قضيتك ، استخدم <EventTrigger RoutedEvent="ToggleButton.Checked ..."
;-)
لا تنتمي إلى StackOverflow