2010-03-30 36 views
6

Tôi đang sử dụng đánh dấu sau trong WPF:Làm thế nào để ràng buộc sự kiện được kiểm tra cho nút radio trong 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> 

Mặc dù này hoạt động tốt khi tôi chạy mã, tôi nhận được lỗi sau trong cửa sổ thiết kế của VS 2008:

Value 'RadioButton .Checked 'không thể được gán cho thuộc tính' RoutedEvent '. Tên sự kiện không hợp lệ.

Bất kỳ ý tưởng nào và tại sao tôi có thể khắc phục điều này?

Trả lời

3

RadioButtonToggleButton. Nhà thiết kế không hỗ trợ thuộc tính ToggleButton đính kèm, nhưng không hỗ trợ thuộc tính RadioButton (ngoại trừ trong một thẻ RadioButton tất nhiên).

Bạn cần sử dụng tên lớp xác định thuộc tính/sự kiện cho nhà thiết kế để chấp nhận nó (nghĩ rằng không có sự khác biệt trong thời gian chạy, vì RadioButton IS là ToggleButton như tôi đã nói, nhưng nhà thiết kế không phải là trình biên dịch thực) .

Vì vậy, trong trường hợp của bạn, hãy sử dụng <EventTrigger RoutedEvent="ToggleButton.Checked ..." ;-)

Các vấn đề liên quan