2013-02-26 30 views
8

Tôi mới tham gia WPF và cố gắng (theo ý kiến ​​của tôi) một nhiệm vụ dễ dàng nhưng tôi đã không nhận được nó. Ngay cả Google cũng không giúp tôi hoặc tôi đã đặt câu hỏi sai.WPF nhấp vào hộp kiểm tra nhãn là tài sản được kiểm tra

Tôi có một hộp kiểm và nhãn; Tôi ước rằng một nhấp chuột trên nhãn sẽ thay đổi thuộc tính isChecked của hộp kiểm. Tôi muốn làm điều này hoàn toàn trong XAML không có mã phía sau, bởi vì tôi muốn giữ mã đằng sau tệp sạch mã không cần thiết. Vui lòng không thảo luận về vấn đề này. Tôi biết đó là một dòng mã duy nhất làm điều này trong mã đằng sau!

Làm việc với bộ đặt sự kiện trên nhãn không giải quyết được sự cố vì bạn chỉ có thể đặt trình xử lý (tất cả là mã sau khóa học). Sử dụng bảng phân cảnh không hữu ích vì không có cách nào để kiểm tra giá trị thực của thuộc tính.

Có ai có gợi ý hay không? Có lẽ tôi đã bỏ qua điều gì đó. Vui lòng cung cấp một số đoạn mã cho giải pháp.

+0

Có thể trùng lặp của [Thay đổi hành vi của nhãn để hỗ trợ chuyển đổi bằng cách nhấp vào trong WPF] (http://stackoverflow.com/questions/6160566/change-a-labels-behavior-to-support-toggling-by-click- in-wpf) – MyDaftQuestions

Trả lời

8

Dán mã này vào kaxaml

Bạn sẽ thấy rằng nhấp vào nhãn sẽ chuyển đổi hộp kiểm.

[Xem SO answer này bởi Kent]

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <StackPanel> 
    <CheckBox IsChecked="{Binding IsChecked, ElementName=checkbox}" Content="Hello"> 
     <CheckBox.Template> 
      <ControlTemplate TargetType="CheckBox"> 
       <ContentPresenter/> 
      </ControlTemplate> 
     </CheckBox.Template> 
    </CheckBox> 
    <CheckBox x:Name="checkbox" Content="A normal checkbox"/> 
</StackPanel> 
</Page> 
+0

Tôi thực sự đã bỏ qua nó ... cảm ơn! – sandkasten

+2

Tôi thấy rằng trong ứng dụng WinRT XAML trên Windows Phone, tôi không cần sử dụng mẫu - mẫu mặc định đã hoạt động tốt (khóa là thuộc tính 'Nội dung'). –

3

Bạn cũng có thể làm điều này:

<CheckBox> 
    <Label Content="Your text here"/> 
</CheckBox> 

Một hạn chế mặc dù là văn bản sẽ phải ở bên phải của hộp kiểm.

+0

Wow, cảm ơn, tôi luôn nghĩ rằng phải có một giải pháp đơn giản hơn và ở đây nó được! – SpeziFish

+0

Tôi thích điều này. Tuy nhiên, căn chỉnh sẽ trở thành một chút giữa nhãn và hộp kiểm. – user3382285

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