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