У меня есть Silverlight UserControl, который использует ContentPropertyAttribute, чтобы предоставить свойство Children одной из его дочерних панелей. Это позволяет мне добавлять дочерние элементы управления на панель на моей странице:
<local:MyUserControl>
<TextBox Name="tbTest" />
</local:MyUserControl>
Это работает, кроме поля 'tbTest' страницы, которая присутствует, но не инициализирована. При ближайшем рассмотрении метод InitializeComponent пытается найти TextBox (с FindName), но не может это сделать (возвращает ноль).
После некоторого исследования я обнаружил, что проблема заключается в именных областях - у UserControl есть своя собственная область имен, поэтому его дочерние элементы не могут быть найдены с помощью FindName страницы, но могут быть найдены с помощью метода FindName UserControl.
Как я могу изменить свой UserControl, чтобы дочерние элементы управления могли быть обнаружены методом InitializeComponent? Стандартные панели (StackPanel, Grid и т. Д.), Похоже, не имеют проблем с этим, поэтому должно быть решение?
Спасибо