用于Windows Phone的数据绑定TitleTemplate

Sha*_*awn 4 c# silverlight xaml windows-phone-7

我必须在这里遗漏一些简单的东西...我正在编写一个Windows Phone 7应用程序,并且我已将我的数据透视表标头定制为以下内容:

<controls:Pivot Name="InfoPivot">
  <controls:Pivot.TitleTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal" Margin="0,0,0,0" VerticalAlignment="Top">
        <Rectangle Fill="{Binding CategoryFill}"  Height="50" Width="50" Margin="355,25,0,0" HorizontalAlignment="Left"  VerticalAlignment="Top" Name="CategoryRect" />
        <StackPanel Margin="-425,-14,0,0" Width="432">
          <TextBlock x:Name="StationTitle" Text="{Binding StationTitle}" Margin="10,0,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
          <TextBlock Name="LocationTitle" Text="{Binding LocationTitle}" TextWrapping="Wrap" Margin="12,0,0,20" Style="{StaticResource PhoneTextNormalStyle}"/>
         </StackPanel>
       </StackPanel>
     </DataTemplate>
   </controls:Pivot.TitleTemplate>
Run Code Online (Sandbox Code Playgroud)

当我导航到这个页面时,我将Station和Location作为参数传递,在这个页面的OnNavigatedTo()中,我尝试设置StationTitle和LocationTitle.不幸的是,我最终得到:

Error 2 The name 'StationTitle' does not exist in the current context

我们应该如何/如何访问Pivot TitleTemplate中的成员?任何帮助将不胜感激!谢谢.

Ant*_*nes 5

停止使用标题模板和绑定来实现此目的.试试这个: -

<controls:Pivot Name="InfoPivot">
   <controls:Pivot.Title>
       <StackPanel Orientation="Horizontal" Margin="0,0,0,0" VerticalAlignment="Top">
          <Rectangle Fill="{Binding CategoryFill}" Height="50" Width="50" Margin="355,25,0,0" HorizontalAlignment="Left"  VerticalAlignment="Top" Name="CategoryRect" />
          <StackPanel Margin="-425,-14,0,0" Width="432">
              <TextBlock x:Name="StationTitle" Margin="10,0,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
              <TextBlock x:Name="LocationTitle" TextWrapping="Wrap" Margin="12,0,0,20" Style="{StaticResource PhoneTextNormalStyle}"/> 
          </StackPanel>
        </StackPanel>
   </controls:Pivot.Title>
Run Code Online (Sandbox Code Playgroud)

然后在代码隐藏中: -

 if (NavigationContext.QueryString.TryGetValue("Station", out station))
 {
     StationTitle.Text = station;
 }

 if (NavigationContext.QueryString.TryGetValue("LocationTitle", out locationTitle))
 {
     LocationTitle.Text = locationTitle;
 }
Run Code Online (Sandbox Code Playgroud)