缩放复选框而不缩放内容

时间:2014-07-25 07:07:11

标签: c# wpf checkbox scaling

我想将复选框的大小加倍。我使用ScaleTransform但问题是,它还会缩放Content(在我的情况下是复选框右侧的文字):

<CheckBox VerticalAlignment="Center" Content="Test">
    <CheckBox.LayoutTransform>
        <ScaleTransform ScaleX="2" ScaleY="2" />
    </CheckBox.LayoutTransform>
</CheckBox>

enter image description here

我可以将Content留空并在单独的TextBlock中写下说明,但是当我点击文字时,CheckBox当然不会切换。
我可以在不完全替换控制模板的情况下执行此操作吗?

1 个答案:

答案 0 :(得分:3)

这样的事可能适合你:

(显然你应该使用转换器来改变ScaleTransform和基于数据绑定的TranslateTransform以获得更好的支持)。

    <CheckBox VerticalAlignment="Center">
        <CheckBox.Content>
            <TextBlock Text="Test" VerticalAlignment="Center">
                <TextBlock.RenderTransform>
                    <TransformGroup>
                        <TranslateTransform Y="7"/>
                        <ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
                    </TransformGroup>
                </TextBlock.RenderTransform>
            </TextBlock>
        </CheckBox.Content>
        <CheckBox.RenderTransform>
            <ScaleTransform ScaleX="2" ScaleY="2"/>
        </CheckBox.RenderTransform>
    </CheckBox>