wpf - 如何使标签与复选框处于同一级别,但不在WPF中的标签单击上切换?
问题描述
我想制作仅在直接单击复选框时才会切换的复选框列表。
不幸的是,如果我这样做:
<ListBox Name="LanguagesListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<CheckBox/>
<Label Content="{Binding InputLanguage.LayoutName}"/>
</StackPanel>
</ListBoxItem>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我得到的复选框没有与它的标签垂直对齐:
但如果我写
<ListBox Name="LanguagesListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding InputLanguage.LayoutName}"/>
</StackPanel>
</ListBoxItem>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
如果单击标签,我会得到复选框切换
如何获得两者?
解决方案
这是复选框行为,因此您无法更改它。您必须创建一个用户控件来构建它。
推荐阅读
- python - 如何根据行中的多个条件和上面的数据填充数据框中的缺失数据
- terraform - Helm 提供程序未在 Chart 中检测到新模板
- mysql - 在优化查询方面需要帮助
- javascript - 如何在 CRUD 表中的删除按钮中具有撤消功能?
- database - 如何在 QLDB 中按降序获取记录?
- visual-studio-code - 远程 ssh 键盘 - 与 vscode 交互
- laravel - Laravel Firebase OTP 身份验证/注册表单
- sql - 使用 case 语句动态选择要加入 Postgres 的表
- windows - Windows 中出现错误 - OSError: [Errno 22] Invalid argument - datetime
- c# - 以下 c# 代码中属性成人的堆栈溢出异常