silverlight之How To:访问控件模板里的控件

假设button控件应用了如下控件模板:

  1. <ControlTemplate x:Key="StartActivity" TargetType="Button">
  2.             <Grid Width="Auto" Height="62" Margin="0,0,0,0">
  3.                 <TextBlock Height="0" Margin="0,0,0,0" VerticalAlignment="Bottom" Text="" TextWrapping="Wrap" x:Name="tbLabel" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" Foreground="#FF0507FA">
  4.                 </TextBlock>
  5.             </Grid>
  6.         </ControlTemplate>

 

那么如果想在代码里访问模板里名为tbLabel的TextBlock控件,该怎么写代码呢?

控件基类Control有个叫GetTemplateChild的方法,但是该方法是Protected型的,所以很显然,我们必须继承基类并且重载OnApplyTemplate来调用该方法,如下:

  1. public class ActivityControl : Button
  2.     {
  3.         public override void OnApplyTemplate()
  4.         {
  5.             base.OnApplyTemplate();
  6.          
  7.             //get the textblock control from template
  8.             TextBlock label = GetTemplateChild("tbLabel"as TextBlock;
  9.         }
  10.     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值