Silverlight: Canvas transborda
-
22-07-2019 - |
Pergunta
Eu criei uma tela, e dentro dele eu coloquei um StackPanel. O StackPanel é horizontal, e aceita uma lista de imagens miniaturizadas. A tela tem um tamanho fixo. Quando eu coloquei mais miniaturas que os Canvas largura pode conter, o StackPanel é suposto transbordamento do Canvas, para que eu possa movê-lo para centralizar a miniatura atual.
Tudo funciona corretamente, somente, estouro da StackPanel é visível! Existe uma maneira de esconder isso? Ou é todo o errado abordagem?
Aqui está uma imagem. A tela é a caixa vermelha. O StackPanel é azul semi-transparente.
http://www.netpalantir.it/static/sl_canvas_overflows.jpg
Obrigado!
Solução
Uma vez que a tela tem tamanho fixo, você pode usar recorte . Basicamente, você tem que fazer:
<Canvas Width="400" Height="300">
<Canvas.Clip>
<RectangleGeometry Rect="0, 0, 400, 300"/>
</Canvas.Clip>
<!-- your StackPanel here -->
</Canvas>
Aqui estão alguns posts úteis sobre o tema: