2009-05-20 8 views
3

Von dem, was ich verstehe, existiert das Popup in seinem eigenen visuellen Baum. Allerdings habe ich ein paar Eigenschaften, Clip und ClipToBounds bemerkt. Was ich tun möchte, ist Visuell ein Popup am rechten und unteren Rand eines Fensters zu schneiden, ungeachtet der Tatsache, dass das Popup unabhängig von den Grenzen des Fensters ist. Ich benutze nicht XAML, aber wenn jemand weiß, wie man es in XAML macht, dann ist das in Ordnung. Ich kann mit System.Windows.Application.Current.MainWindow zum Hauptfenster gelangen. Ist es möglich, einen Wert zu bekommen, mit dem ich das Popup ausschneiden kann? Ich nehme an, dass, wenn es einen Wert gibt, den ich verwenden kann, ich in der Lage wäre, den Ausschnitt des Popups an diesen Wert zu binden. Dies ist wirklich nicht notwendig, da nach dem Öffnen des Popups, wenn das Fenster verschoben oder in der Größe geändert wird, das Popup geschlossen wird. Also müsste ich das Popup nur beim Öffnen abschneiden. Der Grund, warum ich dies tun möchte, ist, weil ich, obwohl ich ein Popup benutze, es nicht als ein Popup erscheinen soll, das außerhalb des Fensters existiert. Dies gilt für einen Popup-Kalender für eine benutzerdefinierte Datebox. Irgendwelche Ideen sowie die Klärung von Missverständnissen, die ich haben könnte, würden sehr geschätzt werden.Clip ein wpf Popup an den Grenzen eines Hauptfensters

Antwort

0

Ich weiß, das ist ein Jahr alt Post, aber falls andere kommen hier auf der Suche nach Antworten ... Wenn Sie das Popup nicht außerhalb Ihres Fensters benötigen, warum überhaupt ein Popup verwenden? Es wäre viel einfacher, ein Steuerelement einfach in einem Canvas (beispielsweise) zu verwenden und es über seine Visibility-Eigenschaft zu steuern. Dann würden Sie automatisch Ihr Clipping bekommen.

+1

Ich benutze ein Popup, so dass es ein gehostetes WinForm-Steuerelement in der WPF App überlagert. Nichts anderes scheint in der Lage zu sein, die Winform zu überlagern, so dass Popup nur Option ist. Das Popup nicht außerhalb der Bildschirmgrenzen darzustellen, ist frustrierend. –

+0

Ich benutze ein Popup, weil mein Fenster eine '' als Inhaltswurzel mit einem' 'innerhalb hat, gibt es keine naheliegende Möglichkeit, einen Fortschritt/Aktivität Spinner oben auf dem' DataGrid' ohne ein 'Popup anzuzeigen '. – Dai

1

Darüber hinaus kann das Popup von einem Benutzersteuerelement aus gestartet werden, das sich nicht direkt im Hauptfenster befindet. In diesem Fall wäre es einfacher, ein Popup zu verwenden. Wie zu einem UC innerhalb der XAML

Verwandte Themen