问题
Is there any way that I change a Label's behavior to support toggling by click in WPF?
i.e. that's Selector.IsSelected property toggle between "True" and "False" by clicking?
Regards.
回答1:
<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>
Note that the above template does not alter the appearance of the label based on whether it's checked or not. That might be something you'll need - hard to say without more information.
回答2:
You would better use Checkbox for such behaviour and style it to your liking.
Remember controls in WPF represent behaviours not looks.
回答3:
Just want to add the way more simple solution of mikelt21 in the duplicate post:
<CheckBox>
<Label Content="Your text here"/>
</CheckBox>
来源:https://stackoverflow.com/questions/6160566/change-a-labels-behavior-to-support-toggling-by-click-in-wpf