【发布时间】:2011-01-17 05:36:44
【问题描述】:
我必须在这里遗漏一些简单的东西...我正在编写一个 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。不幸的是,我最终得到:
Error 2 The name 'StationTitle' does not exist in the current context
我们应该/应该如何访问 Pivot TitleTemplate 中的成员?任何帮助将不胜感激!谢谢。
【问题讨论】:
-
嗨,Shawn,您能告诉我们您是如何声明/传递参数的吗?
-
来自 SelectionChangedHandler 中的 MainPage.xml:NavigationService.Navigate(new Uri("/TestInfoPivot.xaml?" + "Station=" + stationStr + "&Location=" + locationStr, UriKind.Relative)) ;我已经验证了 stationStr 和 locationStr 具有正确的值....然后在 TestInfoPivot.xaml 我做 string station = ""; if (NavigationContext.QueryString.TryGetValue("Station", out station)) { StationTitle = station; } 与 LocationTitle 类似。
-
TestInfoPivot 中的 QueryString 代码执行后,您在 StationTitle 和 LocationTitle 中看到正确的值了吗?没有看到代码块很难理解这一点 - 如果您可以将它们粘贴到原始问题的编辑中会更好。
-
在提供其他详细信息时,请编辑您的问题,而不是将它们放在评论中。当这些细节包含代码时尤其如此,因为您可以看到代码几乎看不到注释。
标签: c# silverlight xaml windows-phone-7