2009-02-18 21 views
5

Ich fing an, etwas in WPF machen und ich habe eine Frage. Ich denke, die Antwort könnte einfach und sogar offensichtlich, aber irgendwie ...Overlay zwei Kontrollen

Ich habe zwei Steuerelemente auf einem Formular von einem Gitter umgeben. Ich möchte, dass zwei das zweite Steuerelement über dem ersten positionieren (es ist transparent). Aus WinForms Entwicklung kommt das nicht so schwer, also wird es nicht in WPF sein. Aber ich habe nicht den Punkt ...

Sascha

Antwort

11

Entweder die Grid und Canvas Kontrollen würden das tun, was Sie wollten.

Für die meisten Fälle würde ich empfehlen, die Grid Elemente zu überlagern, da Sie auch steuern können, wie sie die Größe leicht ändern. Sie werden in der Reihenfolge gestapelt, in der Sie sie definiert haben (zuletzt oben definiert).

versuchen, etwas wie folgt aus:

<Grid> 
    <Rectangle Fill="Blue"/> 
    <Ellipse Fill="Red"/> 
</Grid> 

BTW - XAML Lernen ist viel einfacher, wie Kaxaml in einem interaktiven Werkzeug zu tun.

+0

Das funktioniert gut für Rechteck und Ellipse. Das zu überlagernde Steuerelement wäre ein Webbrowser-Steuerelement. Dafür habe ich Rectangle durch Webbrowser ersetzt mit dem Ergebnis, dass die Ellipse nicht mehr angezeigt wird. – Sascha

+0

Bekomme es mit einem Browser – Sascha

+0

Froh, es funktioniert für Sie. Ich empfehle ernsthaft, mit Kaxaml herumzublödeln, um die Einzelheiten von WPF zu lernen. –

5

Wenn ich Sie richtig bin immer, setzen Sie einfach die Kontrolle in der umgekehrten Reihenfolge innerhalb des Grid. Die Reihenfolge bestimmt den Z-Index des Steuer

<Grid> 
    <c:ControlFirst/> 
    <c:ControlSecond/>   
    </Grid>