问题标签 [xamarin.shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
451 浏览

xamarin - Xamarin Forms Shell 工具栏高度

我是 Xamarin 的新手,并且正在使用导航栏中的 Xamarin Forms Shell 处理一些场景。我的要求是在 shell 中将图像设置为导航栏。我可以使用适用于 android 和 ios 的 Shell 自定义渲染器来更新导航栏中的图像。在 Android 中,我能够增加导航栏/工具栏的高度

在 iOS 中,图像未完全显示。我目前面临在 iOS 中设置导航栏高度的问题。有人可以帮助我如何使用 shell 自定义渲染器增加工具栏(导航栏)的高度吗?

0 投票
1 回答
1985 浏览

xamarin.forms - Xamarin Forms Shell 使用 GoToAsync("..") 向后导航导致异常

我有一个非常简单的导航堆栈,由一个根页面和一个位于其顶部的模型页面组成。我的根页面通过成为向 Shell 注册的第一个页面被设置为根。

然后我使用相对路由导航到模型注册页面

或者我将使用绝对路由

然后我将尝试使用

但我得到了这个例外

在异常时 CurrentState.Location 属性是这个

我不明白为什么会这样。如果我进一步深入堆栈并执行诸如尝试从详细信息页面导航回来的操作,也会发生这种情况。我需要做什么才能正确使用 GoToAsync("..")?

0 投票
1 回答
469 浏览

xamarin.forms - Xamarin Forms iOS安全区域在加载时调整大小?

有点奇怪的。我在 Xamarin Forms (Shell) 中构建了一个应用程序,并且在 Android 上一切正常。当我导航到 ios(iphone 11 物理设备)中的新页面时,屏幕似乎弹出并调整大小。我认为这与视图中使用的安全区域属性有关,因为它似乎在安全区域中,然后调整大小以在安全区域中。

对安卓没有影响。

我无法在新项目中重新创建,但我当前的项目投入了大量时间,我不想重新开始......我无法重新适应我现有的项目,问题仍然存在。

下面是一些示例代码,但奇怪的是它似乎在一个新项目中工作,所以我正在寻找关于在某处可能设置什么来调试这个问题的指导。有什么想法吗?可以根据需要提供额外的代码示例,请告诉我。

我试过升级和降级软件包等没有效果。

套餐

我使用导航

PushAsync 在我的 baseviewmodel 中

并且页面具有标准属性(示例)

0 投票
0 回答
469 浏览

xamarin - Xamarin Shell 样式不适用于 UWP

我正在编写一个针对 Android、iOS 和 UWP 的 xamarin 应用程序。

我们使用 shell 堆栈进行路由,并有一个带有一些弹出项的底栏。

在 Android 和 iOS 上,这可以正常工作,并且显示底部的选项卡式项目。

安卓外壳

但是在 UWP 中,除非您将鼠标悬停在它们上方,否则它们不会显示

在此处输入图像描述

谁能指出我在 UWP 中的正确方向?

0 投票
1 回答
949 浏览

xamarin.forms - Xamarin.Forms with Shell:有没有办法只为活动选项卡指定图标的颜色?

我正在开发基于Shell的Xamarin.Forms应用程序,并且我使用字体图标作为以下图标:TabBar

我想只为活动选项卡指定颜色,但只为图标指定颜色,而不是为文本指定颜色,正如我们在 Airbnb 上看到的那样: 爱彼迎截图

我在 Shell 设置中没有找到任何选项:

是否可以?

0 投票
1 回答
575 浏览

xamarin - Shell BackButtonBehavior 命令绑定在 UWP 中不起作用

我对 Xamarin 开发有点陌生。我尝试使用绑定命令更改后退按钮的行为,但这似乎不起作用。这是视图的代码:

这是视图模型的代码:

当我按下后退按钮时,“GoBackButton”方法没有调用。我想提一下在 Android 上的作品。

0 投票
0 回答
158 浏览

xamarin.forms - xamarin 表单 shell 可以使用 MasterDetailPage 吗?

我为具有选项卡式布局的依赖项 xamarin.essentials\1.5.3.2 和 xamarin.forms\4.8.0.1451 (默认值)的 android 创建了跨平台项目。然后我使用 MasterDetailPage 模板添加了 TestMasterDetailPage。AppShell.xaml 如下所示:

我删除了一些未使用的代码并在 TabBar 中添加了第三个选项卡。启动它并按下新选项卡时,外部代码出现错误:System.InvalidCastException: 'Specified cast is not valid.'

我发现这个问题看起来相同,但它是 2yo,我不确定当时是否使用 shell 作为模板。此外,如前所述,崩溃发生在外部代码的某处。

0 投票
0 回答
27 浏览

xamarin.forms - 如何在 shell 中为我的页面创建验证流程?

我的申请共有 4 页

  • 2 在外壳中 -TabBar
  • 外面的另外两个

首次安装应用程序时,必须将用户带到Login屏幕,因为他尚未通过身份验证。如果它已经过身份验证(它有一个令牌),它就会被带到Notifications屏幕上。

我面临的问题是,即使这些检查正在工作(用户被带到正确的屏幕),当他转到Login页面时(因为这是他第一次安装应用程序,或者因为他的帐户已经关闭并且他想要打开另一个)我在通知页面(在OnAppearing ()函数中)放置的检查在页面显示的同时被触发Login

我想知道是否有人会知道可能的解决方案。

AppShell.xaml

AppShell.xaml.cs

0 投票
1 回答
135 浏览

c# - 使用 Shell 在 c#(xamarin 表单)中定义跨平台移动应用程序的布局

我是 xamarin 表单和 shell 的新手,我目前正在尝试使用 Shell (Xamarin.Forms Shell) 设计应用程序的层次结构。我想设计我的应用程序,以便用户登录后,他将被带到一个页面(我们称之为主页一),该页面可以从弹出菜单中选择,并且在底部有自己独特的选项卡。我还希望在弹出菜单中可以看到另一个页面(我们称之为主页二),这样如果用户点击主页二,它就会被带到主页二,它在底部有自己的不同选项卡。用户应该会看到不同的选项卡,具体取决于他们在弹出菜单中选择的主页。

整体布局思路如下:

  1. 一旦用户启动应用程序,他们将被带到一个起始页面 (StartPage)

  2. 起始页让用户可以选择登录 (LoginPage) 或注册 (RegistrationPage)

  3. 一旦用户成功登录,他们将被带到主页一(HomePageOne),该主页底部包含 4 个选项卡

  4. 如果用户打开弹出菜单,它应该显示 HomePageOne 和 HomePageTwo 的项目,以及注销菜单项。

  5. 如果用户点击主页二(HomePageTwo),他们会被带到主页二,它与主页一有不同的标签,反之亦然

  6. 如果用户选择注销,他们将被带回起始页 (StartPage)

我目前有两个问题。首先,我不确定如何定义我的 shell 来解释具有不同选项卡的不同主页。其次,当用户选择注销时,它仍然显示弹出菜单(汉堡菜单),即使它应该只在用户成功登录时才可见。

这是我的 AppShell.xaml:

这是我的 AppShell.xaml.cs:

0 投票
2 回答
239 浏览

xamarin.forms - VS Community 2019 是否支持 Xamarin Forms Shell UWP?

当我在 VS Community 2019 中开始我的解决方案时,它说 Xamarin Forms Shell 不支持 UWP。我刚刚将 VS 升级到 16.9.2,现在它说 UWP 是一个“预览功能”。

所以我有一个部分完成的解决方案,其中包含 Android 和 iOS 项目。如何将 UWP 项目添加到现有的大部分完成的解决方案中?我尝试解决方案->添加->项目,它似乎想要启动一个全新的应用程序。