- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用 xamarin.forms 和 MVVM 模式开发应用程序。我们使用内置导航系统来推送和弹出页面。现在我们在使用命令导航页面时遇到了问题。
假设我们有一个带有导航到另一个页面的按钮的 View 。此导航是通过将 viewmodel 命令绑定(bind)到按钮来完成的。该命令有一个 canExecute 检查,检查“IsBusy”属性,以防止按钮被单击两次,并启动两个页面导航。
示例代码:
看法:
<Button Command={Binding NavigateCommand} />
Public bool IsBusy {get => _isBusy set => {_isBusy = value;}}
Public ICommand NavigateCommand = New Command(Navigate, () => !IsBusy);
async private Task Navigate()
{
IsBusy = true;
await Navigation.PushAsync(new OtherPage());
IsBusy = false;
}
最佳答案
对,
我通过其他 channel 得到了一些关于使用动画监听器的建议。我一直在摆弄一点,但我无法使用它们来解决问题。我查看了 xamarin 表单源代码,似乎在内部,navigationpagerenderer 也不使用事件,而是使用常量 (const int TransitionDuration = 220;) 来等待转换完成。但是,我们使用更长的动画,这会导致问题。在 xamarin.forms 的 master 分支中,TransitionDuration 变量已变为虚拟,因此一旦他们发布包含此代码的版本,我们就可以覆盖。
这对我来说似乎仍然是一个有点不稳定的解决方案。过渡完成时最好有某种方式来举办事件,但似乎即使是编写 xamarin.forms 的人也无法做到这一点。
如果有人有更好的建议,我真的很想听听
关于c# - 在 Xamarin.forms 中调用 Navigation.PushAsync 时如何等待过渡动画完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48580227/
在 Xamarin 表单中,导航方法如 PushAsync是一个异步 Task 返回方法,但是看起来调用时使用 await 没有什么区别,是吗?我应该等待这些电话吗? 另一个问题,navigation
我有以下代码: Task task = Navigation.PushAsync(myPage); foreach(var temp in myModel) { //do bla b
我正在使用 Xamarin.Forms,我有 2 个页面,一个是 ListView ,另一个是我用作 ListView 过滤器的 View 。我目前正在使用 Navigation.PushAsync
我正在关注此 Xamarin Forms quick start guide (多屏的) 但是当我尝试运行已完成的程序时出现此错误 System.InvalidOperationException:
我正在使用 Xamarin Forms,并且尝试从按钮命令退出导航堆栈 - 并导航到新页面(本质上,我想“重置”后退按钮上的历史记录)。 _finishToolbarItem.Command = ne
我正在关注此 Xamarin Forms quick start guide (多屏的) 但是当我尝试运行已完成的程序时出现此错误 System.InvalidOperationException:
我正在做一个主从页面作为菜单,但我收到了这个错误: PushAsync is not supported globally on Android, please use a NavigationPag
我有一个 Xamarin.Forms 项目,并且我有一个自定义控件,它应该在点击时打开一个新页面。不幸的是,当我调用 Navigation.PushAsync(...); 时没有任何反应。我阅读了无数
当我处理 ListView 项目的 Tap 事件时一切正常,但是当我在 TabbedPage 中使用它时它显示异常请提供解决方案这个问题提前致谢。 Exception: PushAsync is no
我正在调用 await client.SyncContext.PushAsync(); 将新创建/更新的对象推送到服务器。然而,并非每次都遵守 __operations 表中的顺序。 我的应用中典型的
我们正在使用 xamarin.forms 和 MVVM 模式开发应用程序。我们使用内置导航系统来推送和弹出页面。现在我们在使用命令导航页面时遇到了问题。 假设我们有一个带有导航到另一个页面的按钮的 V
我在连接到按钮单击事件的 Xamarin.Forms.ContentPage 中有以下方法 public class LoginPage : ContentPage { private But
大家好,我不断收到以下信息: System.InvalidOperationException 和 “iOS 上不全局支持 PushAsync,请使用 NavigationPage。” 尽管我正在使用
我想导航到 Xamarin Forms 中的其他页面,但它在内容 View 中不起作用。我正在使用 await Navigation.PushAsync(new Page2()); 此代码没有给出任何
我正在添加一个导航栏使用 MainPage = new NavigationPage(new Home()); 然后在我的 Home.cs 页面上,我不想显示导航栏,只有从该页面链接的页面我才想显示导
我正在努力寻找解决方案希望有人能给我指出正确的方向。 我需要导航到 Forms ContentPage,例如: Navigation.PushAsync(new ExamplePage()); 然后从
编辑:可以在此处找到演示崩溃的示例项目:https://github.com/rringham/brokenazurexamforms - 您需要在以下位置设置自己的 Azure 应用服务 URL:
问这个问题的原因我在 xamarin 表单 mvvm 架构中使用 PushAsync 时出错 await Navigation.PushAsync(new Page2()); 错误是 我已通过将 Pu
问这个问题的原因我在 xamarin 表单 mvvm 架构中使用 PushAsync 时出错 await Navigation.PushAsync(new Page2()); 错误是 我已通过将 Pu
所以,我遇到了这个问题,但我不知道如何解决。基本上,当我从 Navigation.PushAsync(tabbedPage); 调用时,我想更改 TabLayout 的 mainTitle 颜色。看起
我是一名优秀的程序员,十分优秀!