Manche Leute optimieren nicht, bis sie gebraucht werden. In diesem Fall ist die Ressourcen- oder Leistungseinbuße wahrscheinlich minimal. Mit anderen Worten, Sie brauchen sich keine Sorgen zu machen, Sie müssen andere Dinge optimieren.
Dies wird zurückkehren oder das Hauptfenster der Anwendung festgelegt:
// http://msdn.microsoft.com/en-us/library/system.windows.application.mainwindow.aspx
var w = Application.Current.MainWindow;
Verwenden dieser einen Verweis auf das Fenster zurückzukehren die Steuerung befindet:
// http://msdn.microsoft.com/library/vstudio/system.windows.window.getwindow.aspx
Window.GetWindow(theDependencyObject);
Sie sagten, Sie müssen Greifen Sie auf das Fenster zu, das ein bestimmtes Steuerelement enthält. Dann denke ich, dass die geeignetere semantisch ist:
Window.GetWindow(theDependencyObject);
Wenn diese beiden Aussagen nur den Zugriff auf Eigenschaften, dann die Anzahl der Fenster hatte ich würde vernachlässigbar sein. Hab ich recht? –
Korrigieren. Das Zeigen des einen Fensters war mehr für die Richtigkeit des Ansatzes. I.e. Wenn Sie mehrere Fenster haben, wird nur eines das MainWindow sein, während verschiedene Fenster von GetWindow (offensichtlich) zurückgegeben werden können. – Slugart
Ja, ich kenne das MainWindow. Ich wollte nur für zukünftige Referenz klären. –