Вопрос

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

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

Вот скриншот.Холст — это красная коробка.Стековая панель синего полупрозрачного цвета.

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

Спасибо!

Это было полезно?

Решение

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

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

Вот несколько полезных постов на эту тему:

Вырезка в Silverlight

Обрезка или обрезка в Silverlight

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top