问题标签 [xamarin.forms.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.
c# - 选定(当前)FlyoutItem 的装扮风格
我注意到,当我像文档中所说的那样自定义弹出项外观时,当前的 FlyoutItem 不再被标记。
从文档中截取代码以更改项目外观:
Shell.ItemTemplate 之前的屏幕截图 Shell.ItemTemplate
之后的屏幕截图
人们会假设还必须有某种壳牌。Current/Active/Selected ItemTemplate 自定义,但我找不到。
有什么想法可以自定义当前的外壳项目外观,或者至少使默认项目标记与 Shell.ItemTemplate 一起使用?
c# - Xamarin Forms Shell Flyout:如何消除 FlyoutHeader 和第一个 FlyoutItem 之间的间隙?
如下图所示,Shell 的 Flyout 有一个缺口:
屏幕截图
(标题背景为黑色,项目背景为黄色。中间的白色是我要删除的。)
我已经在一个空白的新项目中对此进行了测试(我也截取了这张截图),所以我很确定这不是我的代码在做的。我尝试为 AppShell 中的大多数元素设置边距和/或填充。
如果有帮助,当我将项目拉下时,蓝色的“ you-are-trying-to-pull-a-scrollable-list-past-its-end ”图形就在标题下方,所以这让我觉得gap 是 Flyout 内部项目列表的一部分。
关于如何消除差距的任何想法?
xamarin.forms - Xamarin 形成 4 种带复杂参数的 shell 导航
我正在将带有 Prism 的 xamarin forms 3.x 应用程序迁移到带有 shell 导航的表单 4。
我是否必须创建自定义解决方案才能将复杂的参数传递给新页面,或者 Xamarin 有一些内置功能可以接收字符串参数以外的内容?
谢谢。
xamarin - 禁用 Xamarin 4.0+ (iOS) 的 Shell Navigation 中的所有动画
有没有办法在使用 Xamarin.Forms 4.0+ 制作的 Xamarin.Forms 应用程序中禁用页面更改动画并使用新的 Shell Navigation?
使用该函数Shell.GoToAsync(ShellNavigationState, Boolean)
时,可以传递false
第二个参数animate
。
但是从弹出菜单导航到的 FlyoutItems 呢?那里不是我调用 GoToAsync 或任何东西,它是由框架完成的。如何禁用这些元素的动画?
编辑:正如用户 Depechie 评论的那样,默认行为是动画 = false。现在我意识到,它只在 iOS 中动画。在使用弹出菜单切换页面时,iOS 正在执行 Alphablending。Android只是换页,显示硬闪烁。
c# - Xamarin.Forms Shell 如何在路由导航中向字符串注入多个不同的值
如何将任何属性注入到我们使用Shell导航的页面中 使用Xamarin 的本机导航很简单,因为您必须实例化页面的类型:
在 Shell 中只允许我传递字符串值
我正在尝试传递一个布尔值,它向我显示以下错误: “'System.String' 类型的对象无法转换为'System.Boolean' 类型。”
如果你尝试发送多个参数,发送的参数都不起作用,有没有办法同时发送几个?
xamarin.forms - 如何从父 shell 选项卡式页面导航到 shell 选项卡式页面
我有一个父外壳标签页。我希望能够从这个父页面的一个 contentPage 导航到另一个 shell 选项卡页面。
xaml - Xamarin.Forms Shell 在汉堡菜单中将 FlyoutItem 与 MenuItem 组合并订购
我目前在 AsMultipleItems 中有一个带有 FlyoutDisplayOptions 属性的 FlyoutItem,它的作用是汉堡菜单包含与选项卡式页面相同的辅助元素作为元素。我的设计中也有一些 MenuItem,此时它不允许我在 FlyoutItem 中放置 MenuItem,这是我目前的设计:
- 弹出项 1
- 弹出项目 2
- 弹出项目 3
- 弹出项目 4
- 弹出项目 5
- 菜单项 1
- 菜单项 2
- 菜单项 3
- 菜单项 4
- 菜单项 5
例如,我希望 MenuItem 1 位于 FlyoutItem 1 下,但我不能以任何方式这样做,有谁知道我如何对不在该结构中 FlyoutItem 内的项目进行排序?例如,我想要这样的设计:
- 弹出项 1
- 菜单项 1
- 弹出项目 2
- 菜单项 2
- 弹出项目 3
- 菜单项 3
- 弹出项目 4
- 菜单项 4
- 弹出项目 5
- 菜单项 5
目前我只能订购一个结构而不是另一个,但我不能组合和订购不同的结构。
这是我的代码:
xamarin - 如何导航到具有 Shell 弹出菜单的新页面?
我需要导航到一个页面,该页面将具有外壳弹出菜单,但我不需要它作为菜单中的项目出现。
我试过路由页面
然后使用
但它会抛出一个错误,告诉我堆栈中唯一的页面。Microsoft 文档没有帮助。
全局路由当前不能是堆栈上的唯一页面,因此不支持到全局路由的绝对路由。现在,只需导航到:购物车/
当我尝试
它有效,但顶部栏是默认颜色,菜单按钮不存在。另外,我尝试将购物车作为新页面推送,没有new NavigationPage()
,topbar 没有变化,但是 menubutton 可以作为 BackButton,即使我设置了 Behavior