mic*_*sol 8 c# checkbox xaml win-universal-app uwp
如何让CheckBox为空?我只需要打勾.现在它需要额外的空白空间,就像这里:
<CheckBox
Background="Aqua"
Margin="0,0,0,0"/>
Run Code Online (Sandbox Code Playgroud)
(我添加了颜色以查看此控件占用多少空间(空白空间导致所有问题)).
我只需要刻度矩形,我不想要空的空间.我怎样才能做到这一点?
将边距设置为零并将内容设置为""不起作用.
Rya*_*yan 19
如果您只想删除右侧的空白区域,可以通过将Padding和MinWidth添加到0来执行此操作:
<CheckBox Background="Aqua" Padding="0" MinWidth="0"/>
Run Code Online (Sandbox Code Playgroud)它看起来如下:
如果您还想删除顶部和底部的空间,则需要更多工作:
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>
Run Code Online (Sandbox Code Playgroud)正如您所看到的,矩形是20x20,但它有一个32高度的容器网格.只需编辑网格的高度从32到20,如下所示:
哦等等,为什么它还有32的高度?这是因为它在样式中设置了MinWidth和MinHeight
<Setter Property="MinWidth" Value="120"/>
<Setter Property="MinHeight" Value="32"/>
Run Code Online (Sandbox Code Playgroud)
最后,您可以在此处将这两个值直接重置为0,或者只在步骤1中将MinHeight设置为外部.