WPF Ruft das übergeordnete Fenster ab

8

Hy,

In meiner MainWindow.xaml.cs Datei habe ich einen Getter gemacht, um den Verweis auf meine Listbox zu bekommen.

%Vor%

Nun möchte ich von einer normalen Klasse auf die LoggerList zugreifen, aber ich arbeite nicht. Ich habe folgendes versucht:

%Vor%

Aber das funktioniert nur in einer * xaml.cs Datei und nicht in einer normalen * .cs Datei.

Mit freundlichen Grüßen

    
user2644964 04.04.2014, 07:52
quelle

1 Antwort

13

Es gibt mehrere Möglichkeiten, auf Window s in WPF zuzugreifen. Wenn Sie mehrere geöffnet haben, können Sie sie folgendermaßen durchlaufen:

%Vor%

Wenn Sie einen bestimmten Typ von benutzerdefiniertem% ​​co_de% hatten, könnten Sie Folgendes verwenden:

%Vor%

Wenn Sie gerade einen Verweis auf Window haben, können Sie einfach folgendes verwenden:

%Vor%

Bei dieser Methode besteht jedoch die Möglichkeit, dass MainWindow zurückgegeben wird. Stellen Sie in diesem Fall sicher, dass Sie null auf diese Eigenschaft im Konstruktor des Konstruktors festlegen:

%Vor%

Es sollte jedoch beachtet werden, dass @woutervs korrekt ist ... Sie sollten nicht auf Benutzeroberflächensteuerelemente von MainWindow s in Bibliotheksklassen zugreifen. Sie sollten Daten wirklich Sammlungen an die Window binden und dann stattdessen die Datensammlung manipulieren.

UPDATE & gt; & gt;

Ich weiß nicht, warum dein ListBox.ItemsSource -Objekt Application.Current ist ... es könnte sein, dass du deine Klassenbibliothek in eine andere null geladen hast. So oder so, ich denke, dass Sie das große Bild vermissen. Es gibt wirklich keinen Grund, warum eine Klassenbibliotheksklasse einen Verweis auf die Hauptversion AppDomain benötigt.

Wenn Sie an der Datensammlung etwas arbeiten müssen, übergeben Sie die Datensammlung einfach aus dem dahinter stehenden Code oder Ihrem Ansichtsmodell. Sobald die Arbeit abgeschlossen ist, geben Sie sie einfach an die Benutzeroberfläche zurück, auf der Sie Zugriff auf Window und / oder die Sammlung haben, die an die Eigenschaft ListBox gebunden ist.

    
Sheridan 04.04.2014, 08:00
quelle

Tags und Links