Изменить видимый прямоугольник содержимого в ContentControl - PullRequest
0 голосов
/ 25 февраля 2011

В WPF у меня есть ContentControl, который имеет ограниченный размер (скажем, 100x30).Content этого ContentControl представляет собой Label размера 200x30, поэтому все Label не может быть видимым в пределах ContentControl.

Как программно установить, какая область Labelвидно в ContentControl?Видимая область (прямоугольник) содержимого может со временем меняться.Могу ли я сделать это без использования ScrollViewer (просто для установки видимого клипа)?

РЕДАКТИРОВАТЬ: Ну, тогда я даже не могу сделать это с помощью ScrollViewer, поэтому любые советы по этому вопросу также будут оценены

1 Ответ

1 голос
/ 25 февраля 2011

Вы можете разместить свой ярлык на холсте и переместить его, используя свойство 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" />
...