Come evitare che il rendering di un elemento ecceda i bordi del proprio contenitore?

Scritto da  Marco Amendola il mercoledì 12 maggio 2010  •  Linguaggio:    • 


In alcuni casi (per esempio utilizzando RenderTransform) è possibile che il rendering di un elemento ecceda i bordi del proprio contenitore. Per evitare questo comportamento è sufficiente impostare, nel contenitore, la proprietà ClipToBounds a True.
Così facendo, il rendering del controllo stesso (e dei sui figli) sarà contenuto nel rettangolo di layout, rendendo invisibili le parti eccedenti.

<Grid ClipToBounds="True">
<Label Background="WhiteSmoke">
<TextBlock TextWrapping="Wrap">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</TextBlock>
</Label>
<Ellipse Width="50"
Height="50"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Fill="#8866aaff">
<Ellipse.RenderTransform>
<TranslateTransform X="-25" Y="-25" />
</Ellipse.RenderTransform>
</Ellipse>
</Grid>


Tags: WPF

 
x