C# UWP、XAML-使复选框为空

C# UWP、XAML-使复选框为空,c#,xaml,checkbox,win-universal-app,uwp,C#,Xaml,Checkbox,Win Universal App,Uwp,如何使复选框为空? 我只需要打勾。 现在需要额外的空白空间,如下所示: (我添加了颜色以查看该控件占用了多少空间(该空空间会导致对齐问题)) 我只需要勾选矩形,我不想要空的空间。我怎样才能做到这一点 将边距设置为零,将内容设置为“”不起作用 如果只想删除右侧的空白,可以将Padding和MinWidth添加到0: <CheckBox Background="Aqua" Padding="0" MinWidth="0"/> 情况如下: 如果还希望删除顶部和底部的空间,则需

如何使复选框为空? 我只需要打勾。 现在需要额外的空白空间,如下所示:


(我添加了颜色以查看该控件占用了多少空间(该空空间会导致对齐问题))

我只需要勾选矩形,我不想要空的空间。我怎样才能做到这一点

将边距设置为零,将内容设置为“”不起作用

  • 如果只想删除右侧的空白,可以将Padding和MinWidth添加到0:

    <CheckBox Background="Aqua" Padding="0" MinWidth="0"/>
    
    
    
  • 情况如下:

  • 如果还希望删除顶部和底部的空间,则需要进行更多工作:

    • 2a。选中Visual Studio中文档大纲中的复选框
    • 2b。右键单击复选框->编辑模板->编辑副本
    • 2c。然后可以看到直接编辑复选框样式
    • 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="&#xE001;" Opacity="0"/>
      </Grid>
      
      
      
  • 正如您所看到的,矩形是20x20,但它有一个高度为32的容器网格。 只需编辑网格的高度(从32到20),将如下所示:

    哦,等等,为什么它的高度仍然是32? 这是因为它在样式中设置了MinWidth和MinHeight

    <Setter Property="MinWidth" Value="120"/>
    <Setter Property="MinHeight" Value="32"/>
    
    
    
    最后,您可以在此处直接将这两个值重置为0,或者只需在步骤1中设置外部最小高度

    谢谢!它的工作:)我只需要删除右边的空白
    <Setter Property="MinWidth" Value="120"/>
    <Setter Property="MinHeight" Value="32"/>