WEB开发网
开发学院图形图像Flash silverlight之How To:访问控件模板里的控件 阅读

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

 2008-12-20 11:54:23 来源:WEB开发网   
核心提示:假设button控件应用了如下控件模板:<ControlTemplatex:Key="StartActivity"TargetType="Button"><GridWidth="Auto"Height="62"Margin

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

<ControlTemplatex:Key="StartActivity"TargetType="Button">
      <GridWidth="Auto"Height="62"Margin="0,0,0,0">
        <TextBlockHeight="0"Margin="0,0,0,0"VerticalAlignment="Bottom"Text=""TextWrapping="Wrap"x:Name="tbLabel"RenderTransformOrigin="0.5,0.5"HorizontalAlignment="Center"Foreground="#FF0507FA">
        </TextBlock>
      </Grid>
    </ControlTemplate>

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

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

publicclassActivityControl:Button
  {
    publicoverridevoidOnApplyTemplate()
    {
      base.OnApplyTemplate();
      //getthetextblockcontrolfromtemplate
      TextBlocklabel=GetTemplateChild("tbLabel")asTextBlock;
    }
  }

Tags:silverlight How To

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接