1

我正在开始我的第一个 WP8 项目并遇到了一个问题。我正在设计的控件的高度为 48px,但 Checkbox 控件似乎有一个填充,阻止它在小于 75px 的空间上正确显示。那是对的吗?如果没有,我怎样才能让复选框缩小并正确显示?

在此处输入图像描述

从图中很难看出,但边距和填充都设置为 0。

4

1 回答 1

2

默认模板由Checkbox两列网格组成。此网格的默认边距设置PhoneTouchTargetLargeOverhang为定义为 12、20、12、20。

修改任何控件的最简单方法是通过混合。您可以执行以下操作以删除边距并进行所需的任何其他修改:

  1. 在 VS 中右键单击您的用户控制文件,然后选择“在 Blend 中打开...”
  2. 在 Blend 中,选中您的复选框,然后右键单击并选择 Edit Template-->Edit Copy。接受默认值并单击确定。
  3. 离开 Blend 并确保保存。

您将看到在 xaml 文件中为您创建了一堆样式定义。在 Checkbox 案例中,创建了 3 个。

要删除边距,请找到命名的样式CheckBoxStyle1并滚动到此定义的末尾,您将在其中看到如下一行:

<Grid Margin="{StaticResource PhoneTouchTargetLargeOverhang}">

将其更改为

<Grid Margin="0, 0, 0, 0">

边距应该没了。请注意,根据设计指南,可触摸控件之间应至少有 12 像素间距,因此请务必修改您的控件以提供该间距。

于 2013-07-06T08:07:00.927 回答