Frage

Ich versuche Elemente außerhalb der Grenzen ihrer Mutterplatte, in diesem Fall ich bin mit einem Stack-Panel.

machen zu bekommen
<StackPanel ClipToBounds="False" Width="200" Orientation="Horizontal" Height="50"
            Background="{DynamicResource TierBackground}">
    <Rectangle ClipToBounds="False" VerticalAlignment="Bottom" Width="25" Height="75"
               Fill="#FF4D6072" />
</StackPanel>

ClipToBounds Einstellung scheint nicht, etwas zu tun, ich versuchte es zuerst auf dem Rectangle und dann auf dem übergeordneten Gremium obwohl weder schien zu helfen.

UPDATE

Es erscheint der Canvas Container ehrt die ClipToBounds Eigenschaft, aber keine anderen Behälter scheint dies zu ehren.

UPDATE

Ich habe ein Bild enthalten, was ich zu erreichen bin versucht. Die braunen Bereichen die inneren Stapelplatten sind, die innerhalb der übergeordneten Stapelplatte gruppiert sind, sehen, wie die graue Kästen (Produktpositionierung darstellt) erstrecken sich über den übergeordneten Container und Deckel Mutterprodukt aus Ebenen oben.

Dies wurde mehrere Leinwand erreicht, um innerhalb eines übergeordneten StackPanel gestapelt mit Kind Produktelementen auf 0 ihre Canvas.Bottom Eigenschaft festgelegt, während das es funktioniert bedeutet, dass ich jedes Produkt Elemente ‚Left‘ Eigenschaft setzen und kann das nicht habe Layout-Position automatisch das Produkt.

StackPanels http://img263.imageshack.us/ img263 / 8682 / stackpanels.jpg

War es hilfreich?

Lösung

Sie können die Wiedergabe steuern, indem die Margin-Eigenschaft festlegen. Zum Beispiel setzen Sie sich auf negativen Wert so Rechteck außerhalb des Stackpanel gemalt wird:

<Rectangle ClipToBounds="False" VerticalAlignment="Bottom" Width="25" Height="75"
                   Margin="-50,-50,0,0"
           Fill="#FF4D6072" />

EDIT:

Hier ist ein Beispiel für die Verwendung von Margin-Eigenschaft etwas ähnliches, um Ihren Fall zu erzeugen:

http://img139.imageshack.us/img139/8357/rectangleoutsidepanel.gif

<Window x:Class="RectangleOutsidePanel.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
    <DockPanel LastChildFill="False">
        <StackPanel Background="LightBlue" Height="50" DockPanel.Dock="Top"/>
        <StackPanel Orientation="Horizontal" Height="50" Background="Brown" DockPanel.Dock="Top">
            <Rectangle 
                VerticalAlignment="Bottom" Width="30" Height="75" Margin="5,-500,5,0"
                Fill="#FF4D6072" />
            <Rectangle 
                VerticalAlignment="Bottom" Width="25" Height="80" Margin="5,-500,5,0"
                Fill="#FF4D6072" />
        </StackPanel>
    </DockPanel>
</Grid>
</Window>

Beachten Sie den Trick beliebig große negative Zahl für Margin verwenden, so dass Sie es nicht berechnen müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top