如何绑定Panorama项目的headertemplate中的内容

时间:2012-08-16 06:11:13

标签: c# windows-phone-7 xaml data-binding datatemplate

我正在研究Wp7 我在应用程序资源(App.xaml)中为Panorama Item Header创建了一个标头模板:

<DataTemplate x:Key="MainPanoramaHeaderTemplate">
                <TextBlock Text="{Binding title}" Margin="0,15,0,0"
                           Name="CurrentTitle"
                               FontSize="37" FontWeight="SemiBold"
                       Foreground="{StaticResource CurrentThemeColorLight}"
                       ></TextBlock>
            </DataTemplate>

我已将此模板应用于Panorama Item:

<controls:Panorama Name="MainPanorama" Margin="0,76,0,0">
            <controls:PanoramaItem
                Name="pano1"
                HeaderTemplate="{StaticResource MainPanoramaHeaderTemplate}">
                <Grid></Grid>
            </controls:PanoramaItem>

在我后面的代码中我试图绑定pano1.Datacontext。 但什么都没发生? 实际上我有一个全景项目,在不同情况下可以有2-3种不同的标题。

我该怎么做?

提前感谢。

1 个答案:

答案 0 :(得分:3)

尝试:

        <DataTemplate x:Key="MainPanoramaHeaderTemplate">
            <TextBlock Text="{Binding}" Margin="0,15,0,0"
                       Name="CurrentTitle"
                           FontSize="37" FontWeight="SemiBold"
                   Foreground="{StaticResource CurrentThemeColorLight}"/>
        </DataTemplate>

并且

        <controls:PanoramaItem Header="{Binding title}" HeaderTemplate="{StaticResource MainPanoramaHeaderTemplate}">

它对我有用。如果它不起作用,请告诉我。我会进一步帮助你:)

注意:我的ViewModel中有title属性,并使用下面的语句将它的引用提供给mainPage上的dataContext

        DataContext = App.ViewModel;