كيفية ربط الحدث الذي تم فحصه لزر الراديو في WPF؟

StackOverflow https://stackoverflow.com/questions/2543280

  •  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 ..." ;-)

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