Windows Phone 8:复选框不适合

时间:2013-07-05 22:48:06

标签: windows-phone-8 wpf-controls

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

enter image description here

很难从图片中分辨出来,但边距和填充都设置为0。

1 个答案:

答案 0 :(得分:2)

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

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

  1. 右键单击VS中的用户控制文件,然后选择“在混合中打开...”
  2. 在“混合”中,选中您的复选框,然后右键单击并选择“编辑模板” - >“编辑副本”。接受默认值并单击“确定”。
  3. 保留Blend并确保保存。
  4. 您将在xaml文件中看到为您创建了一堆样式定义。在Checkbox案例中,创建了3个。

    要删除边距,请找到名为CheckBoxStyle1的样式,然后滚动到此定义的末尾,您将看到如下所示的行:

    <Grid Margin="{StaticResource PhoneTouchTargetLargeOverhang}">
    

    将其更改为

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

    保证金应该消失。请注意,根据设计指南,可触摸控件之间应至少有12个像素间距,因此请务必修改控件以提供该控件。