Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Andauernde Aufrufe von OnArrange und OnRender
Stu42
myCSharp.de - Member



Dabei seit:
Beiträge: 506
Herkunft: Aus dem Norden

Themenstarter:

Andauernde Aufrufe von OnArrange und OnRender

beantworten | zitieren | melden

Hallo,

ich habe ein Control welches von Panel erbt und in dem ich MeasureOverride, ArrangeOverride und OnRender überschreibe. Mein Problem ist, dass andauernt ArrangeOverride und OnRender aufgerufen werden (komischer weise OnMeasure nicht).

Ich kann die Ursache dafür nicht finden. Es ist kein InvalidateVisual-Aufruf von einer anderen Stelle.
Das übergeordnete Control bleibt vom Layout her ruhig - dort wird OnRender nicht aufgerufen.
Binde ich das Control in ein Test-Projekt ein, dann tritt dieser "Fehler" nicht auf. In dem richtigen Projekt ist dieses Control in einem komplexeren Layout angeordnet.

Frage: Hat jemand irgendeine klevere Idee wie ich herausfinden kann was die Aufrufe von ArrangeOverride und folgend OnRender verursacht?
Da die Aufrufe ja alle aus dem Dispatcher kommen, kann ich da leider kein Breakpoint setzen.
Könnte man vielleicht die Aufrufe irgendwie profilen?

Mich wundert auch das MeasureOverride nicht aufgerufen wird, was ja zu einem vollständigen Layoutprozess eigentlich dazugehört. Ich meine auch das InvalidateVisual dazu führt, dass das Layout vollständig neu berechnet wird, also MeasureOverride auch mit aufgerufen wird.

Liebe Grüße, Stu
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5985
Herkunft: Leipzig

beantworten | zitieren | melden

Hi Stu42,

wozu meinst du diese Methoden überschreiben zu müssen? Welches Problem möchtest du dadurch lösen? Warum reichen die die eingebauten Layout-Features von XAML nicht dafür aus?
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
Stu42
myCSharp.de - Member



Dabei seit:
Beiträge: 506
Herkunft: Aus dem Norden

Themenstarter:

beantworten | zitieren | melden

Hey! Das ist ein Graphen-Control, ich Layoute damit die verschieden Achsen, die Legende und Items im Graph. Hätte man sicherlich auch mit Grids machen können.

Es war übrigens doch ein InvalidateVisual von mir (ein untergeordnetes Graph-Element). Ein typische Fall von zuviel Kaffee und zu spät am Programmiertag.

Mich würde es aber schon noch Interessieren, ob man die Quelle von einem InvalidateVisual-Aufruf irgentwie herausbekommen kann.
private Nachricht | Beiträge des Benutzers