2009-06-22 3 views
0

Ich entwickle eine Silverlight 3-Anwendung, in der ich eine boolesche Eigenschaft in meiner Model-Klasse (mit MVVM-Ansatz) habe, die an die Zieleigenschaft "IsEnabled" zweier Schaltflächen gebunden ist. Ich muss herausfinden, welche Schaltfläche diese boolesche Eigenschaft aufgerufen hat, wenn ich das PropertyChanged-Ereignis (d. H. Während der Datenbindung) erstelle.Wie finden Sie in Databinding, welches Steuerelement den "Getter" einer Eigenschaft Daten aufgerufen hat, wenn das PropertyChanged-Ereignis ausgelöst wird?

Gibt es etwas im Callstack, nach dem ich suchen kann, um das herauszufinden? Oder gibt es einen anderen Weg, wie ich das machen kann?

TIA ... Sudeep

+0

Ihre Frage könnte auf ein Architekturproblem hinweisen. Warum müssen Sie wissen, welche Kontrolle? –

+0

Hallo Michael, ich möchte diese Informationen wissen, während ich meine Anwendung debugge (nur um die Richtigkeit meiner Anwendungslogik zu überprüfen). – Sudeep

Antwort

0

Sie könnten den Call-Stack überprüfen z.B.

var st = new System.Diagnostics.StackTrace(); 
var callingtypeOfAMethod = st.GetFrame(1).GetMethod().DeclaringType; 

Ich hoffe, das bringt Sie auf die Idee. Sie können den aufrufenden Steuertyp mit diesem erhalten.

+0

Hallo Joachim, ich habe versucht, diesen Ansatz zu überprüfen. Was genau sollte ich im Callstack suchen? Zurzeit kann ich in meinem Callstack "[Native to Managed Transition]" als das vorherige Stack-Mitglied sehen. – Sudeep