如何让 CheckBox 为空?
我只需要勾选即可。
现在它需要额外的空白空间,如下所示:
<CheckBox
Background="Aqua"
Margin="0,0,0,0"/>
(我添加了颜色来查看该控件占用了多少空间(空白会导致对齐问题))。
我只需要勾选矩形,我不需要空白区域。我怎样才能做到这一点?
将边距设置为零并将内容设置为“”不起作用。
-
如果您只想删除右侧的空白区域,可以通过将 Padding 和 MinWidth 添加为 0 来实现:
<CheckBox Background="Aqua" Padding="0" MinWidth="0"/>
它看起来如下:
-
如果你还想去掉顶部和底部的空间,则需要更多的工作:
- 2a.在 Visual Studio 中选择文档大纲中的复选框
- 2b.右键单击复选框 -> 编辑模板 -> 编辑副本
- 2c.然后就可以看到直接编辑CheckBox样式了
-
2d.然后在ControlTemplate中找到以下代码
<Grid Height="32" VerticalAlignment="Top">
<Rectangle x:Name="NormalRectangle" Fill="Transparent" Height="20" Stroke="{ThemeResource SystemControlForegroundBaseMediumHighBrush}" StrokeThickness="{ThemeResource CheckBoxBorderThemeThickness}" UseLayoutRounding="False" Width="20"/>
<FontIcon x:Name="CheckGlyph" Foreground="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" FontSize="20" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" Opacity="0"/>
</Grid>
正如您所看到的,矩形是 20x20,但它有一个高度为 32 的容器网格。
只需将网格的高度从 32 编辑为 20 即可如下所示:
哦等等,为什么它的高度仍然是 32?
这是因为它在样式中设置了MinWidth和MinHeight
<Setter Property="MinWidth" Value="120"/>
<Setter Property="MinHeight" Value="32"/>
最后,您可以直接将这两个值都重置为 0,或者像步骤 1 那样将 MinHeight 设置为外部。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)