从Pivot.ItemTemplate获取选定的控件

时间:2013-10-24 11:12:29

标签: xaml windows-phone-7 windows-phone-8

我有一个XAML:

<phone:Pivot  Name="pivot" SelectionChanged="pivot_SelectionChanged">            
              <phone:Pivot.ItemTemplate>
                <DataTemplate>                        
                            <ViewportControl Name="viewport">
                            <Canvas Name="canvas">
                                <Image Name="image"  
                                        RenderTransformOrigin="0,0" 
                                        CacheMode="BitmapCache"

                                        Source="{Binding ImageSource}">
                                        <Image.RenderTransform>
                                            <ScaleTransform x:Name="xform"/>
                                        </Image.RenderTransform>
                                </Image>
                            </Canvas>
                        </ViewportControl>
                    </DataTemplate>
                </phone:Pivot.ItemTemplate>
            </phone:Pivot>  

我可以获取所选项目的当前ViewportControl,Canvas等吗?例如

private void pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //get ViewportControl, Canvas, etc           
        } 

不一定是SelectionChanged,可能有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

是的,但您必须搜索它们。您需要使用VisualTreeHelper并寻找所需类型的孩子。

或者您可以在所有控件和父透视项的代码隐藏中使用一些映射。