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

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