Сильверлайт:Переполнение холста
-
22-07-2019 - |
Вопрос
Я создал 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>
Вот несколько полезных постов на эту тему: