Frage

Hüten Sie sich vor, das ist eine ziemlich grundlegende Frage (glaube ich).

Ich habe eine Usercontrol, genannt MyUserControl. Ich benutze es in einem Datatemplate für meine List-Box:

<l:MyUserControl DataContext="Test" />

Jetzt möchte ich dieses Datacontext für den Zugriff auf den Code-behind von MyUserControl, und ich erwarte, dass Datacontext ein String-Objekt mit dem Inhalt „Test“ enthalten. Allerdings ist Datacontext null. Was ich hier fehlt?

War es hilfreich?

Lösung

Wenn Sie die Datacontext-Eigenschaft im Code hinter zugreifen möchten, geben dem Benutzer die Kontrolle (oder alle Steuerelemente für diese Angelegenheit) ein Name:

im Code hinter:

myControl.DataContext = someobject;

Obwohl in Ihrem Beispiel die Datacontext auf „Test“ wird nichts erreichen.

Lesen Sie auf Daten verbindliche in WPF http://msdn.microsoft.com/en-us/library/aa480224. aspx

Andere Tipps

Sie müssen einige Felder oder propertie in MyUserControl der Klasse mit dem Namen Datacontext.

Siehe hier über Benutzer lernen Steuereigenschaften in .net.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top