Вопрос

Будьте осторожны, это довольно простой вопрос (я думаю).

У меня есть UserControl, который называется MyUserControl.Я использую его в DataTemplate для моего ListBox:

<l:MyUserControl DataContext="Test" />

Теперь я хочу получить доступ к этому DataContext в коде MyUserControl, и я ожидаю, что DataContext будет содержать строковый объект с содержимым "Test".Однако DataContext имеет значение null.Чего я здесь не понимаю?

Это было полезно?

Решение

Если вы хотите получить доступ к свойству DataContext в коде позади, дайте пользовательскому элементу управления (или любым элементам управления, если уж на то пошло) имя:

в коде, стоящем за:

MyControl.DataContext = некий объект.;

Хотя в вашем примере установка DataContext в значение "Test" ничего не даст.

Ознакомьтесь с привязкой данных в WPF http://msdn.microsoft.com/en-us/library/aa480224.aspx

Другие советы

Вам нужно поле или свойство в классе MyUserControl с именем DataContext.

См. здесь , чтобы узнать о пользователе управлять свойствами в .net.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top