6 Stimmen

Warum werden die statischen Methoden für die angehängten Eigenschaften Set und Get nicht in XAML aufgerufen?

Ich habe Haltepunkte auf meine angehängten Eigenschaften SetXXX und GetXXX statische Methoden festgelegt. In Xaml habe ich der angehängten Eigenschaft Werte zugewiesen. Ich habe jedoch erwartet, dass die statischen Methoden Set oder Get aufgerufen werden, aber sie werden nicht aufgerufen. Die angehängte Eigenschaft funktioniert wie erwartet, und wenn ich SetXXX- und GetXXX-Methoden im Code aufrufe, dann funktioniert es wie erwartet.

Warum werden die Methoden nicht aufgerufen, wenn sie von Xaml aus festgelegt werden?

JD.

9voto

JaredPar Punkte 699699

XAML versteht keine normalen Getter- und Setter-Eigenschaften, wenn es um angehängte Eigenschaften geht. Stattdessen geht es direkt zu den APIs der unteren Ebene auf DependencyObject . Nämlich die GetValue y SetValue Methoden.

6voto

Reed Copsey Punkte 536986

Als JaredPar erklärt Wenn Sie XAML verwenden, werden die Methoden GetXXX/SetXXX nicht aufgerufen.

Ich möchte jedoch noch etwas hinzufügen:

Wenn Sie Änderungen an der angehängten Eigenschaft im Code verfolgen müssen, sollten Sie die Metadaten verwenden. Sie können eine Rückruf in den Metadaten auslösen, wenn sich die Eigenschaft ändert, und dies in Ihrem Code verfolgen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X