XAML TemplateStudio WinUI 3水平导航条

bz4sfanl  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(129)

我用Template Studio for WinUI (C#)搭建了一个项目。在选择选项时,我不能选择水平导航窗格。有垂直导航窗格和水平菜单栏。我不需要像菜单栏这样复杂的东西。我需要在三个页面之间快速切换:FileA生成、FileB生成和FileC生成。
我搭建了垂直导航窗格,并将NavigationViewControl的选项设置为水平,但随后它与标题栏和其他UI重叠。我开始删除和调整边距,但我无法找到所有需要更改的地方。旧的Template Studio for UWP有此选项,但我想使用WinUI,因为UWP已被弃用。
1.如何使用scaffold工具来创建水平导航窗格?如何调整代码?
1.由于它是一个用于简单文件生成的桌面应用程序,您知道更好的页面切换替代方案吗?例如:我看到一个页面有三个标签,在TabView中切换它们比导航窗格更快。

a5g8bdjr

a5g8bdjr1#

您只需要做一些更改。这应该看起来更适合您的用途:

  • 增加行定义,并将AppTitleBarNavigationViewControl分开。
    *AppTitleBar添加左边距。
  • 移除NavigationViewControl_DisplayModeChanged事件处理程序。
<Grid RowDefinitions="Auto,*">
    <Grid
        x:Name="AppTitleBar"
        Grid.Row="0"
        Height="32"
        Margin="10,0,0,0"
        VerticalAlignment="Top"
        Canvas.ZIndex="1"
        IsHitTestVisible="True">
        <Image
            Width="16"
            Height="16"
            HorizontalAlignment="Left"
            Source="/Assets/WindowIcon.ico" />
        <TextBlock
            x:Name="AppTitleBarText"
            Margin="28,0,0,0"
            VerticalAlignment="Center"
            Style="{StaticResource CaptionTextBlockStyle}"
            TextWrapping="NoWrap" />
    </Grid>
    <NavigationView
        x:Name="NavigationViewControl"
        Grid.Row="1"
        Canvas.ZIndex="0"
        ExpandedModeThresholdWidth="1280"
        Header="{x:Bind ((ContentControl)ViewModel.Selected).Content, Mode=OneWay}"
        IsBackButtonVisible="Visible"
        IsBackEnabled="{x:Bind ViewModel.IsBackEnabled, Mode=OneWay}"
        IsSettingsVisible="True"
        PaneDisplayMode="Top"
        SelectedItem="{x:Bind ViewModel.Selected, Mode=OneWay}">
        <NavigationView.MenuItems>
        </NavigationView.MenuItems>
</NavigationView>

要回答第二个问题,您可能需要查看Pivot控件。

相关问题