我有一個圖像顯示在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