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