Pergunta

Tenha cuidado, esta é uma questão bastante básica (eu acho).

Eu tenho um UserControl, chamado MyUserControl. Eu usá-lo em um DataTemplate para o meu ListBox:

<l:MyUserControl DataContext="Test" />

Agora eu quero acessar este DataContext no código-behind de MyUserControl, e eu espero DataContext para conter um objeto string com o conteúdo "Test". No entanto, DataContext é nulo. O que estou ausente aqui?

Foi útil?

Solução

Se você quiser acessar a propriedade DataContext no código por trás, dar ao usuário controle (ou quaisquer controles para que o assunto) um nome:

no código por trás:

myControl.DataContext = SomeObject;

Embora em sua definição do DataContext para "Teste" vai conseguir nada exemplo.

Leia-se sobre a ligação de dados no WPF http://msdn.microsoft.com/en-us/library/aa480224. aspx

Outras dicas

Você precisa de algum campo ou propertie na classe de MyUserControl chamado DataContext.

Consulte aqui para aprender sobre o usuário propriedades de controle de NET.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top