如何在xamarin中从导航中删除多个后退按钮?
请帮我解决以下问题 这是我的问题。如果在没有动画的情况下推送(false),则问题。如果动画为true,则工作正常如何在xamarin中从导航中删除多个后退按钮?,xamarin,xamarin.forms,xamarin.ios,Xamarin,Xamarin.forms,Xamarin.ios,请帮我解决以下问题 这是我的问题。如果在没有动画的情况下推送(false),则问题。如果动画为true,则工作正常 // await Navigation.PushAsync<DeleteDealsAndOffersViewModel>(); --> **working fine** // await Navigation.PushAsync(new DeleteDealsAndOffersViewModel());**working fine** vm = new
// await Navigation.PushAsync<DeleteDealsAndOffersViewModel>(); --> **working fine**
// await Navigation.PushAsync(new DeleteDealsAndOffersViewModel());**working fine**
vm = new DeleteDealsAndOffersViewModel
{
DealsAndOffersList = dealLists,
//CategoryColor = CategoryColor,
IsDelete = true
};
//await Navigation.PushAsync(vm,false); **issue with back button**
现在的问题是,当我按下DeleteDealAndOffersListPage时,会显示两个后退按钮。看起来您正在创建自己的后退按钮。Xamarin会将它自己的后退按钮添加到您推到导航堆栈上的任何页面上,这是您看到的额外后退按钮吗?如果是,在推送之前,请添加:
NavigationPage.SetHasBackButton(vm, false);
它显示两个后退按钮是什么意思?它有两个后退按钮,一个在另一个下面,或者你有两个页面,你必须返回两次?我会检查您是否在整个应用程序中使用了相同的导航页面,而不是不同的导航页面。我会在页面上创建导航标题和后退按钮,并在创建页面类中使用。当我使用动画推动导航时,工作正常,但当动画为false时。它显示到按钮。假设导航是无效的,页面和视图模型是两个不同的东西;可以使用navigation.PushAsync将页面推送到导航堆栈上,可以将viewModels绑定(设置为)到页面的BindingContext属性,更多的vm是model.not page
<?xml version="1.0" encoding="UTF-8"?>
<view:BasicV
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:view="clr-namespace:Vi.Views;assembly=FlagSpree"
xmlns:sty="clr-namespace:VillageVesl.Styles;assembly=FlagSpree"
xmlns:v="clr-namespace:Core.Views;assembly=Core"
xmlns:comp="clr-namespace:VillageVesl.Views.Components;assembly=FlagSpree"
x:Name="main" Title="{Binding Title}"
LeftBarButtonTitle="Cancel"
BackgroundColor="{x:Static sty:Colors.BGColor}"
x:Class="Vi.Views.DeleteDealsAndOffersListPage">
<ContentPage.ToolbarItems>
<ToolbarItem IsDestructive="true" Text="Delete" Command="{Binding DeleteAllSelectedDealsCommand}" />
</ContentPage.ToolbarItems>
<ContentPage.Content>
</ContentPage.Content>
</view:BasicV>
namespace Vi.Views
{
public partial class DeleteDealsAndOffersListPage : BasicV
{
public DeleteDealsAndOffersListPage()
{
InitializeComponent();
}
}
}
NavigationPage.SetHasBackButton(vm, false);