XAML 如何禁用AppShell上的按钮,Xamarin.iOS

e37o9pze  于 2023-11-14  发布在  Shell
关注(0)|答案(1)|浏览(122)

我有我的AppShell,3 ShellContent和我的问题是,当我在第二页或第三或.在我的路线,如果我点击我的路线的ShellContent它带我回到第一页我想禁用我的按钮,当我在同一路线,我没有这个问题在UWP,只是在iOS上,你有一个想法吗?
我已经尝试了IsEnabled=“False”,但它忽略了它。
这是我的AppShell的图片


的数据
这是我的代码

<TabBar>

    <ShellContent x:Name="BureauShell" Title="Bureau" ContentTemplate="{DataTemplate local:ViewLogin}" Icon="office-desk.png"/>
    <ShellContent x:Name="ServicesShell" Title="Services" ContentTemplate="{DataTemplate local:ViewMenu}" Icon="booking.png"/>
    <ShellContent x:Name="PiecesShell" Title="Batiment" ContentTemplate="{DataTemplate local:ViewChat}" Icon="building.png" />
    
</TabBar>

字符串

eblbsuwk

eblbsuwk1#

可以通过调用ShellNavigatingEventArgs对象上的Cancel方法来取消导航。请考虑在AppShell.cs中添加以下代码:

protected override void OnNavigating(ShellNavigatingEventArgs args)
    {
        base.OnNavigating(args);

        if(args.Current!=null)
        {
            if (args.Target.Location == args.Current.Location)
            {
                //You could add more logic
                Console.WriteLine("123");
                args.Cancel();
            }
        }
    }

字符串
使用上面的代码,如果导航在同一条路线上,则取消导航。您可以根据您的情况添加更多逻辑。
有关更多信息,您可以参考Shell导航
希望有帮助!

相关问题