我在页面布局中有一个控件模板,如下所示。
<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>
在代码后面如何访问??
我试过了,
private void button1_Click(object sender, RoutedEventArgs e)
{
var te = this.LayoutRoot.Resources["myTemplate"] as ControlTemplate;
}
但无法访问选项卡控件中的文本块。
答案 0 :(得分:0)
覆盖代码后面的方法OnAplyTemplate()并尝试找到你的组件。
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var myTextBlock = GetTemplateChild("cityInfoTxt") as TextBlock;
}
希望有所帮助