1

次のように、ページ レイアウトにコントロール テンプレートがあります。

<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;

}

タブコントロールのテキストブロックにアクセスできません。

4

1 に答える 1

0

コード ビハインドでメソッド OnAplyTemplate() をオーバーライドし、コンポーネントを見つけようとします。

    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();
        var myTextBlock = GetTemplateChild("cityInfoTxt") as TextBlock;
    }

それが役に立てば幸い

于 2012-06-27T17:36:49.373 に答える