Loaded-Ereignis eines WPF user control feuert mehr als einmal

Zur Umsetzung einer tab-basierten Umgebung, in WPF müssen wir wandeln unsere Formulare, Benutzersteuerelemente, aber wenn Sie dies tun, die Loaded - Ereignis des Benutzersteuerelements wird genannt zwei mal.

Während der Suche auf das internet, um andere Menschen wies auch dieses Problem. Wie können wir sicherstellen, dass die loaded-Ereignis nur einmal aufgerufen wird? Weil, wenn es mehrfach aufgerufen wird, werden bei der Initialisierung unserer Kontrollen passiert mehrere Male.

  • Ich habe versucht, zu reproduzieren, dies in einer leere .NET 4.0 WPF-Anwendung und das Loaded-Ereignis nur einmal abgefeuert. Haben Sie versucht, Blick auf den call-stack zu sehen, ob vielleicht etwas seltsam gehen auf in der .NET Framework, bevor Sie feuert das Loaded-Ereignis?
  • Legen Sie Ihre Benutzer-Steuerelement in einem Registersteuerelement, und Sie werden in der Lage sein das Problem zu reproduzieren, beim Wechsel der tabs.
  • Versuchen Sie es mit Seiten und Rahmen. Es ist viel einfacher und sauberer für die Gruppierung der Steuerelemente.
Schreibe einen Kommentar