【问题标题】:Scale Checkbox without scaling content缩放复选框而不缩放内容
【发布时间】:2014-07-25 07:07:11
【问题描述】:
我想将复选框的大小加倍。我使用了ScaleTransform,但问题是,它还会缩放Content(在我的例子中是复选框右侧的文本):
<CheckBox VerticalAlignment="Center" Content="Test">
<CheckBox.LayoutTransform>
<ScaleTransform ScaleX="2" ScaleY="2" />
</CheckBox.LayoutTransform>
</CheckBox>
我可以将Content 留空,并将描述写在单独的TextBlock 中,但是当我点击文本时,CheckBox 当然不会切换。
我可以在不完全替换控件模板的情况下执行此操作吗?
【问题讨论】:
标签:
c#
wpf
checkbox
scaling
【解决方案1】:
这样的事情可能对你有用:
(显然您应该使用转换器来更改基于数据绑定的 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>