2012-01-15 68 views
1

我有以下XAML代码:的Silverlight数据模板查找控制

<dxb:BarButtonItem Name="btnPrev" Cursor="Hand" ItemClick="btnPrev_ItemClick"> 
<dxb:BarButtonItem.ContentTemplate> 
<DataTemplate> 
<Image x:Name="imgSkipLeft" Source="/ProjectTool;component/images/arrowleft.png" Height="16" Width="16"> 
<ToolTipService.ToolTip> 
<TextBlock x:Name="txtBlockTip_Left"/> 
</ToolTipService.ToolTip> 
</Image> 
</DataTemplate> 
</dxb:BarButtonItem.ContentTemplate> 
</dxb:BarButtonItem> 

我如何才能找到tx​​tBlockTip_Left和修改文本

回答

0

使用VisualTreeHelperExtensions类,并把网格中的数据模板中,并给它一个名称,在本例中。

var bttn= btnPrev.ItemContainerGenerator.ContainerFromItem(btnPrev); 
var dataTemplate = bttn.GetDescendantsOfType<Grid>().FirstOrDefault(g => g.Name == ("grdTemplate")); 
var textBlocks= VisualTreeHelperExtensions.GetDescendantsOfType<TextBlock>(dataTemplate); 
TextBlock txtBlockTip_left = textBlocks.ElementAt(0);