У меня есть пользовательский элемент управления Silverlight с именем "BASE". У меня есть другой элемент управления, который наследуется от этого класса, "CHILD1". BASE имеет ContentPresenter, который содержит контент из элемента управления CHILD1. Мне нужен доступ к TextBox, который находится в содержимом элемента управления CHILD1, он инициализируется и отображается, но в коде он всегда равен нулю.
Есть ли способ получить доступ к этим элементам управления напрямую, вместо перебора дочерней коллекции свойства content?
Спасибо.
child1:
<local:BASE x:Class="CWTest1.CHILD1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:local="clr-namespace:CWTest"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400"
Height="300">
<Grid x:Name="LayoutRoot2"
Background="White">
<TextBox x:Name="tbx1"
Text="xx" />
</Grid>
public partial class CHILD1 : BASE
{
public CHILD1()
{
InitializeComponent();
// this.tbx1 is always null
this.tbx1.Focus();
}
}
Часть BASE:
<ContentPresenter Grid.Row="1"
x:Name="cprContent"
Content="" />
Код базового класса: -
[ContentProperty("Content")]
public partial class cwBase1 : ChildWindow
...
new public object Content
{
get { return cprContent.Content; }
set { cprContent.Content = value; }
}