Domanda

Attenzione, questa è una domanda piuttosto semplice (credo).

Ho un UserControl, chiamato MyUserControl. Lo uso in un DataTemplate per il mio ListBox:

<l:MyUserControl DataContext="Test" />

Ora voglio accedere a questo DataContext nel code-behind di MyUserControl e mi aspetto che DataContext contenga un oggetto stringa con contenuto "Test". Tuttavia, DataContext è nullo. Cosa mi sto perdendo qui?

È stato utile?

Soluzione

Se si desidera accedere alla proprietà DataContext nel codice sottostante, assegnare un nome al controllo utente (o qualsiasi controllo del caso):

nel codice dietro:

myControl.DataContext = someobject;

Anche se nel tuo esempio imposta DataContext su " Test " non realizzerà nulla.

Leggi sull'associazione dei dati in WPF http://msdn.microsoft.com/en-us/library/aa480224. aspx

Altri suggerimenti

È necessario un campo o una proprietà nella classe MyUserControl denominata DataContext.

Vedi qui per conoscere l'utente controlla le proprietà in .net.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top