首页 文章

.NET UWP NavigationView.HeaderTemplate TextBlock从Frame中的页面设置

提问于
浏览
0

我有UWP应用程序与片段在框架中显示页面 . 主页:

<NavigationView.HeaderTemplate>
        <DataTemplate>
            <Grid Margin="24,10,0,0">
                <TextBlock Style="{StaticResource TitleTextBlockStyle}"
                        Name="tbTitleTextBlock"
                       FontSize="28"
                       VerticalAlignment="Center"
                       Text="Welcome"/>
            </Grid>
        </DataTemplate>
    </NavigationView.HeaderTemplate>

    <Frame x:Name="ContentFrame" Margin="24">
        <Frame.ContentTransitions>
            <TransitionCollection>
                <NavigationThemeTransition/>
            </TransitionCollection>
        </Frame.ContentTransitions>
    </Frame>

如何在Frame中的页面中更改 tbTitleTextBlock 中的文本 Welcome ?谢谢

1 回答

  • 1

    如何在Frame中的页面中更改文本欢迎使用tbTitleTextBlock?谢谢

    tbTitleTextBlock的 DataContextNavigationView 标头相同 . 因此,您可以使用 Text="{Binding}" 获取父级 DataContext 的内容 . 当您修改 NavigationView 标头属性时,tbTitleTextBlock将自动更改 .

    <NavigationView.HeaderTemplate>
        <DataTemplate>
            <Grid Margin="24,10,0,0">
                <TextBlock Style="{StaticResource TitleTextBlockStyle}"
                Name="tbTitleTextBlock"
                FontSize="28"
                VerticalAlignment="Center"
                Text="{Binding}"/>
            </Grid>
        </DataTemplate>
    </NavigationView.HeaderTemplate>
    

    Usage

    private void NavigationView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
     {
         if (args.IsSettingsSelected)
         {
             contentFrame.Navigate(typeof(SampleSettingsPage));
         }
         else
         {
             var selectedItem = (NavigationViewItem)args.SelectedItem;
             string pageName = "AppUIBasics.SamplePages." + ((string) selectedItem.Tag);
             sender.Header = pageName;
             Type pageType = Type.GetType(pageName);
             contentFrame.Navigate(pageType);
         }
     }
    

相关问题