我有一个图像显示在DataTemplate中。我想在点击图像时更改我的图像周围的DataTemplate样式。导航WPF中的可视化树
它曾经直接嵌套在如下所示的堆栈面板中,因此我可以通过执行以下操作轻松获得父级堆栈面板。
StackPanel sp = img.Parent as StackPanel;
<StackPanel Name="uxSessionImageItem" Style="{DynamicResource RotatorItemTemplateUnselectedStyle}" Loaded="uxSessionImageItem_Loaded" >
<TextBlock Name="uxLabel" Width="150" Text="{Binding SessionImageID}" Foreground="White" VerticalAlignment="Center"/>
<Image MouseDown="ImagePanel_MouseDown" Name="uxImage" Style="{DynamicResource ItemTemplateImageStyle}" Source="{Binding ThumbPath}"/>
</StackPanel>
我不得不添加其他的StackPanel和边界图像,而我需要找到堆栈面板之间。我需要什么语法才能找到不是现在是我的父母的边界,也不是边界父节点的堆叠面板,而是上面的堆叠面板?
<StackPanel Name="uxSessionImageItem" Style="{DynamicResource RotatorItemTemplateUnselectedStyle}" Loaded="uxSessionImageItem_Loaded" >
<TextBlock Name="uxLabel" Width="150" Text="{Binding SessionImageID}" VerticalAlignment="Center" Style="{DynamicResource ItemTemplateImageNumberStyle}"/>
<StackPanel Name="uxSessionImageWrapper" Style="{DynamicResource RotatorItemImageWrapperStyle}" >
<Border Name="uxImageBorder" Style="{DynamicResource ItemTemplateImageBorderStyle}">
<Image MouseDown="ImagePanel_MouseDown" Name="uxImage" Style="{DynamicResource ItemTemplateImageStyle}" Source="{Binding ThumbPath}"/>
</Border>
</StackPanel>
</StackPanel>
如果它在一个DataTemplate,那么你可以通过后台代码一样,叫不上名字的访问。每次使用DataTemplate时,可能会有多个StackPanel实例。 – CodeNaked 2011-05-10 19:37:27
Thx错过了DataTemplate部分。 – Ben 2011-05-10 19:48:13