C# 访问Silverlight控件模板项代码隐藏
我在页面布局中有一个控件模板,如下所示C# 访问Silverlight控件模板项代码隐藏,c#,silverlight,layout,silverlight-4.0,controltemplates,C#,Silverlight,Layout,Silverlight 4.0,Controltemplates,我在页面布局中有一个控件模板,如下所示 <Grid x:Name="LayoutRoot"> <Grid.Resources> <ControlTemplate x:Key="myTemplate" TargetType="esri:MapTip"> <Border CornerRadius="10" Background="#DDFFEEEE" BorderThickness="4" Bo
<Grid x:Name="LayoutRoot">
<Grid.Resources>
<ControlTemplate x:Key="myTemplate" TargetType="esri:MapTip">
<Border CornerRadius="10" Background="#DDFFEEEE" BorderThickness="4" BorderBrush="#99FF0000">
<StackPanel Background="#DDFFFFFF">
<sdk:TabControl Height="180" Margin="5" Name="tabControl1" Width="300">
<sdk:TabItem Header="Info" Name="infoTab">
<TextBlock x:Name="cityInfoTxt" Tag="{Binding [City_ID]}"/>
</sdk:TabItem>
</sdk:TabControl>
</StackPanel>
</Border>
</ControlTemplate>
但无法访问选项卡控件中的文本块 重写代码隐藏上的OnAplyTemplate()方法,并尝试查找组件
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var myTextBlock = GetTemplateChild("cityInfoTxt") as TextBlock;
}
希望能有所帮助模板只是为您创建元素时要遵循的模式,它们不是元素本身(因为它们可能是使用同一模板的多个实例)。您试图解决的实际问题是什么?我实际上在Template中更新了textblock您是指text属性吗?如果是这样的话,那么应该通过一个绑定来完成,该绑定将拉取值(而不是尝试将值推入其中)。而不是属性。我想进入
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var myTextBlock = GetTemplateChild("cityInfoTxt") as TextBlock;
}