【发布时间】:2020-09-02 06:22:28
【问题描述】:
我有一个这样的 NavigationView:
<NavigationView
Name="NavView"
PaneTitle="Games"
PaneDisplayMode="Auto"
ItemInvoked="NavView_ItemInvoked"
IsSettingsVisible="False"
MenuItemsSource="{x:Bind games}">
<NavigationView.MenuItemTemplate>
<DataTemplate x:DataType="data:Game">
<NavigationViewItem Tag="{x:Bind id, Mode=TwoWay}" Content="{x:Bind GameName}" Icon="Play"/>
</DataTemplate>
</NavigationView.MenuItemTemplate>
<Frame Name="ContentFrame" Margin="0,20,0,0"/>
</NavigationView>
UI 部分和绑定工作,但 InvokedItemContainer/ItemInvoked 似乎在 Android 上不起作用。方法如下:
private void NavView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
{
string id = args.InvokedItemContainer.Tag.ToString();
Guid guid = new Guid(id);
ContentFrame.Navigate(typeof(Leaderboard), guid);
}
单击NavigationViewItem 在 Android 上没有任何作用,但在 UWP 上可以正常工作。我做了一些测试,结果发现,我在 InvokedItemContainer 语句之后放置的任何内容都被忽略了,所以我只能在 UWP 中调试,一切正常。
【问题讨论】:
标签: c# uwp-xaml uno-platform