WPF允许使用Transform
的子类来缩放(ScaleTransform
),旋转(RotateTransform
),倾斜(SkewTransform
)等等任何FrameworkElement
。WPF中的剪裁变换?
但我看不到如何使用这些来裁剪一些FrameworkElement
。有什么办法可以让我们说一个宽度为30px的Label
,所以它的行为就好像它的宽度是20px一样?
更准确地说:我想在布局之前这样做,以便Label
可以像宽度为20一样布置。但是我希望它完全渲染,因此最后10个像素也会被渲染(可能与其他元素重叠)。我怎样才能做到这一点 ?
为什么我需要这个?我想要H.B.'s answer以我的问题Create guitar chords editor in WPF与kerning一起使用。
H.B .: +1这是我得到的最快最好的答案。这也是一个解决方案,但如果我真的想让布局系统的前一个元素缩短5个像素但仍然完全渲染它?而不是设置下一个元素的边距'Margin =“ - 5,0,0,0”'?因为这就是其他编辑器(如RichTextBox)处理字距问题的方式。我不是为什么他们不使用边距这样的东西,但突出显示文本等(当元素相互重叠时)可能会出现问题。 – drasto 2011-04-27 18:53:28
我不太明白你的问题,如果你在上一个项目中设置'Margin =“0,0,-5,0”',它应该更短,并且仍然呈现,除非你设置了裁剪。 – 2011-04-27 19:16:29
哦,我明白了。是的,它正在工作。谢谢。 – drasto 2011-04-27 19:34:18