如何让导航视图项目像"Push Buttons"而不是"Radio Buttons"?



我正在尝试使我的navViewItems表现得像按钮,而不是切换按钮。我不想选择navViewItem在选择后粘住。

    private void NavView_SelectionChanged(
         NavigationView sender, 
         NavigationViewSelectionChangedEventArgs args)
    {
        if (args.IsSettingsSelected)
        {
            NavView.Header = "Settings";
            //rootFrame.Navigate(typeof(SettingsPage));
        }
        else if (args.SelectedItem != null)
        {
            NavigationViewItem item 
               = args.SelectedItem as NavigationViewItem;
            NavView.Header = item.Tag;
            // Unclick/Unselect NavViewItem Here <--
        }
    }
}
<Page ... >
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <NavigationView 
              RequestedTheme="Dark" 
              x:Name="NavView" 
              Header="Welcome" 
              SelectionChanged="NavView_SelectionChanged">
           <NavigationView.MenuItems>
                <NavigationViewItem 
                     Icon="Home"        
                     Content="Home"            
                     Tag="Home"         
                     Background="Maroon"    
                     Foreground="White"/>
                <NavigationViewItem 
                     Icon="Back"        
                     Content="PrevPage"        
                     Tag="Back"         
                     Background="Maroon"    
                     Foreground="White"/>
                <NavigationViewItem 
                     Icon="Globe"       
                     Content="Enter Info1"   
                     Tag="EnterCompany" 
                     Background="DarkGreen" Foreground="White"/>
                <NavigationViewItem 
                     Icon="PostUpdate"  
                     Content="Enter Info2"       
                     Tag="EnterJob"     
                     Background="DarkGreen" Foreground="White"/>
                <NavigationViewItem 
                     Icon="Globe"       
                     Content="Query Info1" 
                     Tag="QueryCompany" 
                     Background="DarkBlue"  Foreground="White"/>
                <NavigationViewItem 
                     Icon="PostUpdate"  
                     Content="Query Info2"      
                     Tag="QueryJob"     
                     Background="DarkBlue"  
                     Foreground="White"/>
            </NavigationView.MenuItems>
            <Frame x:Name="ContentFrame" />
        </NavigationView>
    </Grid>
</Page>

我知道这样做的唯一方法就是扔掉导航控件并返回仅在网格上使用按钮...或定义一个模板,该模板关闭了所选的突出显示...无论如何,我正在尝试坚持使用NAV控件只是为了成为标准并获得自动调整大小的功能...

将SelectedIndex设置为"从选择变成事件"的null,以使"导航"选项卡变得不张紧并像按钮一样行动。在1803年之前,SelectedIndex属性已从SelectionChanged事件中阅读,并使用调度程序进行设置。

                await Dispatcher.RunAsync(
                      Windows.UI.Core.CoreDispatcherPriority.Normal,
                     () => {
                          NavView.SelectedItem = null;
                          NavView.Header = "myHeader;
                });

然而,在1803年,这种技巧的作品,尽管SelectedItem属性是从选择变成事件的Nolonger really的事件。在1803年使用调度程序将SelectionIndex设置为无效递归环路。

最新更新