2009-03-02 29 views
2

Ich habe einen langen Text und zeige ersten Satz in einem TextBlock. Ich wünsche durch Klicken auf den TextBlock oder eine Schaltfläche, um ein Panel unter dem TextBlock mit Volltext anzuzeigen. Ich wünsche, dass dieses Panel absolut positioniert und über allen anderen Elementen angezeigt wird, Sie können eine ähnliche Sache in HTML tun, indem Sie das absolut positionierte Element 'div' anzeigen und ausblenden. Wie geht das in WPF? Vielen Dank für Anregungen.Absolute Positionierung in WPF

Antwort

3

AdornerLayer arbeiten können, aber vielleicht ein wenig komplex sein. Andere Optionen sind die Verwendung von PopUps oder ToolTips - Sie sollten diese zuerst als Ihre einfachsten Optionen betrachten.

Wenn diese alle nicht funktionieren, hängt es wirklich davon ab, welche Art von Panel Sie verwenden. Zum Beispiel, wenn Sie eine Canvas verwenden, müssen Sie nur sicherstellen, dass die richtige ZIndex für das Element festgelegt ist.

Um dies robuster zu machen, würde ich vorschlagen, die folgenden:

<!-- Set Panel.ZIndex="99" when showing hidden area to ensure top placement --> 
<Grid> 
    <TextBlock>This is my primary bit of text ...</TextBlock> 

    <!-- Canvas stays hidden until we want to show the rest of the text --> 
    <Canvas Visibility="Hidden"> 
    <TextBlock Canvas.Bottom="-10">Content goes here</TextBlock> 
    </Canvas> 
</Grid> 
Verwandte Themen