2009-08-04 3 views
8

Я создал холст, и внутри него я разместил StackPanel. StackPanel является горизонтальным, и он принимает список уменьшенных изображений. Холст имеет фиксированный размер. Когда я помещаю больше миниатюр, чем может удерживать ширину холста, StackPanel должен переполняться с Canvas, поэтому я могу переместить его в центр текущей миниатюры.Silverlight: Canvas overflows

Все работает правильно, только переполнение StackPanel видно! Есть ли способ скрыть это? Или весь подход ошибочен?

Вот скриншот. Полотно - это красная рамка. Пакет стека синий полупрозрачный.

http://www.netpalantir.it/static/sl_canvas_overflows.jpg

Спасибо!

ответ

20

Поскольку Canvas имеет фиксированный размер, вы можете использовать clipping. В основном вы должны сделать:

<Canvas Width="400" Height="300"> 
    <Canvas.Clip> 
      <RectangleGeometry Rect="0, 0, 400, 300"/> 
    </Canvas.Clip> 
    <!-- your StackPanel here --> 
</Canvas> 

Вот несколько полезных сообщений по теме:

Clipping in Silverlight

Cropping or Clipping in Silverlight

+0

Это именно то, что мне было нужно, спасибо большое! :) – Palantir

Смежные вопросы