在ContentControl中更改内容的可见矩形

时间:2011-02-25 11:48:57

标签: c# .net wpf custom-controls

在WPF中,我ContentControl的大小有限(比方说100x30)。此Content的{​​{1}}是ContentControl,大小为200x30,因此在Label中无法看到整个Label

如何以编程方式设置ContentControlLabel的哪个区域可见?内容的可见区域(矩形)可能随时间而变化。我可以不使用ContentControl(仅设置可见剪辑)吗?

编辑:那么,我甚至无法使用ScrollViewer来做到这一点所以任何有关这方面的建议都会得到满足

1 个答案:

答案 0 :(得分:1)

您可以将标签放在画布上并使用Canvas.Left属性移动它。

使用绑定到滑块Value属性调整标签位置的小示例。

<ContentControl Width="100" Height="30">
  <Canvas ClipToBounds="True">
    <Label Canvas.Left="{Binding ElementName=mySlider, Path=Value}" Width="200" Height="30">Here is some very long sample text </Label>
  </Canvas>
</ContentControl>
<Slider Name="mySlider" Minimum="-200" Maximum="100" />