9

我是 WPF 的新手,尝试(在我看来)一项简单的任务,但我没有得到它。甚至谷歌也不会帮助我,或者我问错了问题。

我有一个复选框和一个标签;我希望单击标签更改isChecked复选框的属性。

我想在 XAML 中完全做到这一点,没有任何代码,因为我希望保持文件后面的代码干净,没有不必要的代码。请不要讨论这个问题。我知道这是在后面的代码中执行此操作的单行代码!

在标签上使用事件设置器并不能解决问题,因为您只能设置处理程序(当然在代码后面)。使用情节提要没有帮助,因为无法检查属性的实际值。

有没有人有好的提示?也许我忽略了一些东西。请为解决方案提供一些代码片段。

4

2 回答 2

11

你也可以这样做:

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

但是,一个限制是文本必须位于复选框的右侧。

于 2017-03-22T15:59:52.297 回答
7

将此代码粘贴到kaxaml

您会看到单击标签会切换复选框。

[见肯特的这个答案]

<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>
于 2013-02-26T10:59:55.360 回答