Windows phone 7 如何在c#中访问自定义全景标题模板?

Windows phone 7 如何在c#中访问自定义全景标题模板?,windows-phone-7,Windows Phone 7,作为全景图的标题,我使用了一个自定义用户控件,我想从PhoneApplicationPage更新该控件。但要做到这一点,我需要访问它,我试图让孩子们的全景: Grid grid = VisualTreeHelper.GetChild(panorama, 0) as Grid; 但它说panorama有0个孩子。这正常吗?你知道一种访问全景图的方法吗 谢谢 是什么阻止了你这样做 <controls:Panorama Title="{Binding}"> <control

作为全景图的标题,我使用了一个自定义用户控件,我想从PhoneApplicationPage更新该控件。但要做到这一点,我需要访问它,我试图让孩子们的全景:

Grid grid = VisualTreeHelper.GetChild(panorama, 0) as Grid;
但它说panorama有0个孩子。这正常吗?你知道一种访问全景图的方法吗


谢谢

是什么阻止了你这样做

<controls:Panorama Title="{Binding}">
    <controls:Panorama.TitleTemplate>
        <DataTemplate>
            <local:MyUserControl DataContext="{Binding}" />
        </DataTemplate>
    </controls:Panorama.TitleTemplate>
    ...
</controls:Panorama>

...

为什么需要更新控件?为什么不更新数据绑定,并使用DataTemplate进行任何最终的布局更改?我已经使用DataTemplate,但需要根据OnNavigatedTo上传递的参数更新UserControl的DataContext。我可以更新页面的datacontext,但我不知道如何对UserControl进行更新,因为我无法访问它。没有什么可以阻止您将datacontext数据绑定到viewmodel。事实上,我会这样做。谢谢你,克劳斯。尽管如此,全景图似乎没有子对象,这仍然很奇怪。@Hitredin-您在哪个代码隐藏方法中调用了
GetChild
?全景可能没有初始化yetIf如果我更改标题的绑定,它会在UserControl中传播更改吗?我解决了儿童浏览的问题,但我调查了你的方式,因为它很干净。如果它是一个可观察的属性,那么是的,它应该。但是考虑在USER控件上公开依赖性属性,并直接绑定它们。这就是用户控件的使用方式。