我想将复选框的大小加倍。我使用ScaleTransform
但问题是,它还会缩放Content
(在我的情况下是复选框右侧的文字):
<CheckBox VerticalAlignment="Center" Content="Test">
<CheckBox.LayoutTransform>
<ScaleTransform ScaleX="2" ScaleY="2" />
</CheckBox.LayoutTransform>
</CheckBox>
我可以将Content
留空并在单独的TextBlock
中写下说明,但是当我点击文字时,CheckBox
当然不会切换。
我可以在不完全替换控制模板的情况下执行此操作吗?
答案 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>