【问题标题】:In c++ winrt Navigation view how do I find the nav item that was chosen/clicked?在 c++ winrt 导航视图中,如何找到选择/单击的导航项?
【发布时间】:2020-02-10 16:09:39
【问题描述】:

给定 xaml 中的顶部导航视图,例如


<NavigationView  ItemInvoked="NavToAbout" Grid.Row="0" x:Name="nvSample"  PaneDisplayMode="Top">
            <NavigationView.MenuItems>
                <NavigationViewItem IsSelected="True" Content="Main" Tag="Main" />
                <NavigationViewItem   Content="About" Tag="Abouts" />
               <NavigationViewItem   Content="Settings" Tag="Settingspage" />
            </NavigationView.MenuItems>
            <Frame x:Name="contentFrame"/>
        </NavigationView>

还有一个类似或类似的 NavToAbout 函数


void  MainPage::NavToAbout(winrt::Windows::UI::Xaml::Controls::NavigationView  const& sender, winrt::Windows::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs const& handler) {


        //Here get value of item
       //auto pageselected = ?
    };

如何确定选择了哪个页面以便导航到正确的页面?这就是我如何找出点击了哪个链接?

【问题讨论】:

    标签: c++ xaml uwp winrt-xaml c++-winrt


    【解决方案1】:

    您可以根据标签获取您选择的页面,例如args.InvokedItemContainer().Tag()。结果是您为项目设置的标签值。

    void  MainPage::NavToAbout(winrt::Windows::UI::Xaml::Controls::NavigationView  const& sender, winrt::Windows::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs const& handler) 
    {
    
        hstring navItemTag = unbox_value<hstring>(handler.InvokedItemContainer().Tag());
    
    };
    

    【讨论】:

      猜你喜欢
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2012-11-18
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多