【问题标题】:Change checkbox size WPF更改复选框大小 WPF
【发布时间】:2011-09-09 12:14:42
【问题描述】:

我想在 WPF 中制作一个更大的复选框。

我发现我需要做一个控制模板,这里有一个例子: http://msdn.microsoft.com/en-us/library/ms752319.aspx

如果我使用该代码,复选框与默认外观不同。我要做的就是更改边框宽度和高度属性。

我需要一个看起来与默认值完全相同的控件模板,然后我将只更改宽度和高度。有谁知道我在哪里可以找到一个?还是更好的方法?

【问题讨论】:

    标签: wpf controltemplate


    【解决方案1】:

    这个怎么样?

    <CheckBox>
        <CheckBox.LayoutTransform>
            <ScaleTransform ScaleX="2" ScaleY="2" />
        </CheckBox.LayoutTransform>
    </CheckBox>
    

    如果整数值不是您想要的,您可以为 ScaleX 和 ScaleY 使用双精度值。

    【讨论】:

    • 优雅的解决方案。我将其应用为全局样式。对于那些走这条路的人,请注意它甚至可以缩放内容(复选框旁边的文本或其他内容)。
    • 这非常简单!
    • 如果您不希望字体也加倍大小,您可以将文本放在带有 CheckBox 的 StackPanel 中的单独 TextBlock 中。目前的问题是您可以控制字体大小,但框大小不会改变。在我看来,它确实应该默认扩展。默认情况下你会得到一个奇怪的不匹配。
    【解决方案2】:

    【讨论】:

      【解决方案3】:

      默认的 ControlTemplates 可以在 on MSDN 找到(参见Default WPF Themes 链接)。

      确保将各自的主题命名空间添加到您的 xaml 文件以引用必要的 theme controls

      <theme:BulletChrome Background="{TemplateBinding Background}"
                          BorderBrush="{TemplateBinding BorderBrush}"
                          RenderMouseOver="{TemplateBinding IsMouseOver}"
                          RenderPressed="{TemplateBinding IsPressed}"
                          IsChecked="{TemplateBinding IsChecked}"/>
      

      我不确定您是否可以笼统地指定它,您可能还需要添加引用。

      这里的问题是你也不能真正指定边框大小,因为控件封装了它。

      【讨论】:

        【解决方案4】:

        我找到的最佳解决方案是将其包装在 ViewBox 中:

        <Viewbox Height="46" HorizontalAlignment="Left" >
            <CheckBox Content="Some Content"/>
        </Viewbox>
        

        【讨论】:

          【解决方案5】:

          您可以使用复选框的可视化树,当您想要的元素存在时,通过显式设置宽度和高度在运行时更改它们。使用 Peter Blois 的 snoop 或其他类似方法查看是否有可以使用 FindName 访问的命名元素;如果不是,您将不得不猜测(例如,某些样式可能有两个 Border 元素,您必须选择一个)并明确地遍历视觉树。

          请记住,如果您没有找到要查找的元素,您的代码应该什么都不做。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-22
            • 2014-05-09
            • 2012-02-05
            • 1970-01-01
            • 2012-11-20
            • 2017-07-23
            相关资源
            最近更新 更多