c# - Windows Phone 的 pivot TitleTemplate 中的数据绑定(bind)

标签 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>

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

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

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

最佳答案

停止使用标题模板并绑定(bind)以实现此目的。试试这个:-

<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>

然后在代码隐藏中:-

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

 if (NavigationContext.QueryString.TryGetValue("LocationTitle", out locationTitle))
 {
     LocationTitle.Text = locationTitle;
 }

关于c# - Windows Phone 的 pivot TitleTemplate 中的数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710297/

相关文章:

javascript - 如何使用变量值将 List<object> 序列化为 JSON?

c# - 在 WPF 中,只有一个按钮的图标可以点击,而不是整个按钮

c# - 向 MVCcontrib 网格上的每一行添加复选框

c# - 你能 catch using block 吗?

xaml - 3 Pane 循环滚动面板 - 建议

wpf - 如何将主题从 Silverlight 移植到 WPF?

silverlight - Silverlight 上的 Google App Engine

silverlight - 如何在Frame中获取导航页面?

c# - 如何使用 ElementFlow?

c# - 如何在 WPF 图表中为 Y 轴混合指数/小数格式