如何得到ControlTemplate内的对象
在App.xaml内定义一个控件模板:
<Application.Resources>
<ControlTemplate x:Key="cjsSunMapTipTemplate">
<Border Background="White" Name="outBorder">
<ScrollViewer>
<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="查看原始文档" Grid.Row="0" Grid.Column="0" />
<HyperlinkButton Content="下载..." Name="downLink" Grid.Row="0" Grid.Column="1"/>
</Grid>
</ScrollViewer>
</Border>
</ControlTemplate>
<Application.Resources>
在MainPage内有如下定义:
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" Name="maptipCanvas">
<MapTip x:Name="firstMapTip" BorderBrush="#99000000">
</MapTip>
</Canvas>
程序将firstMapTip以全局变量形式传递给另一个Silverlight页面testPage.xaml。在页面testPage.xaml内设置firstMapTip的控件模板:
firstMapTip.Template = Application.Current.Resources["cjsSunMapTipTemplate"] as ControlTemplate;
问题如下:在页面testPage.xaml内如何得到ControlTemplate内名为“downLink”的HyperlinkButton对象?
[解决办法]
请参考以下教程:
Silverlight:获取ControlTemplate中的元素
http://silverlightchina.net/html/tips/2011/0621/8471.html
Silverlight:获取ContentTemplate中的命名控件
http://silverlightchina.net/html/tips/2011/0903/10207.html
Silverlight 获取DataTemplate 中可视化元素
http://silverlightchina.net/html/tips/2011/1129/12149.html