首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Xamarin.Forms项目中为UWP选择OnPlatform时遇到问题

在Xamarin.Forms中,OnPlatform是一个用于根据不同的平台选择不同值的标记扩展。它允许开发人员根据不同的平台设置不同的属性值,以适应不同的设备和操作系统。

然而,在为UWP选择OnPlatform时,可能会遇到一些问题。其中一个常见的问题是在UWP平台上无法正确解析OnPlatform的值。这可能是由于UWP平台对于某些特定的属性或值的支持不完整或不一致导致的。

解决这个问题的一种方法是使用Device.RuntimePlatform属性来手动检测当前的运行平台,并根据需要设置属性的值。例如,可以使用以下代码来设置一个Label的字体大小:

代码语言:csharp
复制
Label label = new Label();

if (Device.RuntimePlatform == Device.UWP)
{
    label.FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label));
}
else
{
    label.FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label));
}

这样,无论在哪个平台上运行应用程序,都可以根据需要设置合适的字体大小。

另外,如果遇到OnPlatform无法解析值的问题,还可以尝试使用其他的标记扩展,如OnIdiom或OnPlatform<T>。这些标记扩展提供了更灵活的方式来根据设备类型、屏幕尺寸或其他条件选择不同的值。

总结起来,在Xamarin.Forms项目中为UWP选择OnPlatform时遇到问题时,可以通过手动检测运行平台并根据需要设置属性的值来解决问题。此外,还可以尝试使用其他的标记扩展来实现更灵活的值选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

张高兴的 Xamarin.Forms 开发笔记: Android 与 iOS 引入 UWP 风格的汉堡菜单 ( MasterDetailPage )

所谓 UWP 样式的汉堡菜单,我曾在“张高兴的 UWP 开发笔记:汉堡菜单进阶”里说过,也就是使用 Segoe MDL2 Assets 字体作为左侧 Icon,并且左侧使用填充颜色的矩形用来表示 ListView...但怎样通过 Xamarin.Forms ,将这一样式的汉堡菜单带入到 Android 与 iOS 中呢?...待项目创建完成后,解决方案共包含四个项目:共享代码项目、 Android 项目、 iOS 项目、 UWP 项目。共享代码项目存放共享页面的地方,个人觉得和类库还是有点区别的。 ?...要注意的是,Color 类型 Xamarin.Forms 中的。...ListView 的 ItemTemplate 与 UWP 稍有不同,左侧的填充矩形换成了 BoxView,二级菜单的上边线由 Border 换成了高度1的 BoxView。

4.5K100

VS2022 MAUI Hello World——Windows平台及Android平台效果

本文长度2426字,预计阅读7分钟 前言 微软的Visual Studio 202211月8号已发布,除了.Net6,改为64位的应用程序,将不再局限于主进程 devenv.exe 的 4Gb 内存限制...MAUI框架 微卡智享 .NET MAUI全称为.NET Multi-platform App UI,是Xamarin.Forms的演进,对于Xamarin.Forms的客户,您可以把MAUI当成您现在所了解的...Xamarin.Forms下一个主要版本。...安装还有将MAUI的相关组件都打上勾 01 创建MAUI新项目 打开VS2022后,创建新项目,搜索栏中输入MAUI 选择.Net MAUI App(Preview),取的项目名称为MauiHelloWorld...新建好的MAUI项目中解决方案下是这些相关目录,其中Platforms是不同平台的配置,Resources是资源,MauiProgram是程序启动,App是全局的加载,MainPage是Demo中的主页显示相关

5.2K40
  • 【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

    实时可视化树中的Just My XAML: 实时可视化树是一功能,当 UWP 和 WPF 开发人员调试模式下运行其应用程序时,它们是可用的,并且是与 XAML Hot Reload 相关的实时编辑工具的一部分...可移动的应用内工具栏(v16.3) XAML绑定失败面板(独立的 VSIX 早期 alpha 预览): 为了开发人员的应用程序中发生数据绑定失败开发人员提供帮助,我们开发中提供了一新功能,该功能为...尽管此功能最终将对所有 XAML 开发人员(WPF,UWPXamarin.Forms)都起作用,但新面板将使那些构建WPF应用程序的客户更容易发现绑定失败。 ?...资源和模板 合并资源字典: 现在,可以使用解决方案资源管理器提供的新功能,轻松地将 UWP / WPF 项目中的现有资源词典与任何有效的 XAML 文件合并。...总结 这些功能只是我们一直努力的一部分,还有许多仍在开发中,我们希望准备就绪与您分享更多信息。

    7.3K30

    Xamarin 社区工具包的现状和未来

    它简化了使用 Xamarin.Forms 构建 iOS、Android、macOS、WPF 和通用 Windows 平台(UWP)应用程序时常见的开发任务。...如果你使用过 Xamarin.Forms,你可能知道至少有一个转换器是你每个项目中都需要的。但你没有把它封装在一个库中,因为它太小了,你一次又一次地复制和粘贴它。...也许你会在一个项目中对它进行调整,突然间你就有了多个版本。将这些东西集中工具包中,我们会让维护工作变得更容易,你只需把它放入这个库,这个库可以为你提供 Xamarin.Forms 的一站式服务。...实际上,这意味着我们将确保 XCT 可以继续使用 Xamarin.Forms,并且可以用于 iOS、Android 和 UWP 的新版本,但不会增加新特性。...你可以 Xamarin.Android 或 Xamarin.iOS 项目中使用 Essentials 的所有 API,如果你想那样做的话。

    2.7K20

    .NET 8代,开发Windows桌面软件还应选择Win Forms吗?

    随着技术的不断进步和新的开发工具的不断涌现,软件开发者面对Windows桌面应用开发,往往会面临诸多选择。....NET 8代,Win Forms作为一个经典的Windows桌面应用开发框架,是否还值得我们去选择和使用呢?...这意味着开发者遇到问题可以很容易地找到解决方案或获得帮助。 2....它结合了WPF、Xamarin.Forms等框架的优点,开发者提供了一个统一且强大的工具集。...然而,对于需要更高界面现代化程度、跨平台支持或响应式设计的应用,开发者可以考虑使用WPF、UWP或.NET MAUI等备选方案。 选择框架,开发者应根据项目的具体需求和团队的技术储备进行权衡。

    51310

    Xamarin.Form 5.0: 新功能和控件以及调试改进

    根据开发人员社区的反馈,现在可以 Xamarin.FormsUWP 应用一起使用热重载和热重启,并部分刷新修改后的页面(这是 Visual Studio 调试设置中的可配置选项)。 ?...不过和以前一样,当应用程序发布到苹果商店还是需要一台 Mac。...通过GitHub项目页面上的拉取请求和评论对社区做出大量贡献,即将发布的 Xamarin.Forms 5.0 包含以下新功能和控件。...支持 SVG 路径; 控件模板:本机控件定义自定义模板,丰富其可视性方面。...例如,下图中的单选按钮; 旋转木马视图:与可视化项目(如PeakAreaInsets 的可视化状态管理)相关的新改进,该更改预览上一或下一的一部分,并建议用户滚动方向。

    3.2K20

    .NET 基金会项目介绍-MvvmCross

    使用 Model-View-ViewModel (MVVM) 设计模式能够多平台间使用一套代码共享业务逻辑。 MvvmCross 专门 Xamarin 和移动设备生态设计。...其支持 Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms, Universal Windows Platform (UWP) 和 Windows...不论如何,业务复杂度不会随着技术框架的选择而减低,它只会从一个地方转移到另外的地方。 开发者可以尝试并使用此框架减轻初期多重开发的困难,而随着团队和业务的演变,变化永远是不会停止的。...It supports Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms, Universal Windows Platform (UWP...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

    1.6K30

    本地化入门

    如项目中有如下两张图片: ? XAML中可以直接通过Images/Flag.png引用。...只设置页面及菜单这些切换语言不会重新加载的UI上使用Binding,其它地方不变,这样简单的动态切换语言就实现了。运行结果如上,可以看到TextBox右键菜单仍未切换语言,需要重新启动。...打开“添加新”对话框,选中“资源文件(.resw)”,“名称”文本框中将文件名称改为“Labels.resx”,点击“添加”。...“解决方案资源管理器”选中“Labels.resx”,邮件打开“属性”视图,“生成操作”选择“嵌入的资源”。...解决方案是不在UWP应用项目中添加resx资源文件,而在类库中添加resx资源文件,这样连错误都不报了。 不知道Xamarin.Forms是不是也可以这样实现,毕竟它也是XAML大家族的一员。 6.

    2K40

    笔记 | Xamarin

    但是,可以使用 FlyoutItemIsVisible 属性将隐藏在浮出控件中,并使用 IsVisible 属性将其从浮出控件中删除: 类型 bool 的 FlyoutItemIsVisible 指示是否已隐藏在浮出控件中但仍可以通过...此属性的默认值 true。 类型 bool 的 IsVisible 指示是否应从可视化树中移除,从而不在浮出控件中显示。 它的默认值 true。...Xamarin.Forms中,滚动视图ScrollView用来实现长内容的滚动显示。...js 中有三个常用的对话框方法: OnJsAlert 方法是弹出警告框,一般情况下在 Android 中 Toast,文本里面加入; OnJsConfirm 弹出确认框,会返回布尔值,通过这个值可以判断点击确认还是取消...而文本方式就不一样了,写文件,会将换行符号CRLF(0x0D 0x0A)全部转换成单个的0x0A,并且当遇到结束符CTRLZ(0x1A),就认为文件已经结束。

    23.9K20

    Visual Studio 2017 针对移动开发的新特性介绍

    新的安装过程更加直观并且触摸友好,最重要的是我们通过仅选择所需的工具,就能实现较低的磁盘占用。我们可以选择最适合我们需求的功能,例如移动开发只需要包含.NET,UWP或 .NET Core就可以。...只安装所需的组件,能将下载和最终安装尺寸保持最小状态。你可以比以前更快地入手,另外需要确保你安装的部分,只包含你最开始所需的功能。...Forms Previewer我们提供了一个“WYSIWYG”的视图,方便我们了解应用在设备是如何展现的,以及展示我们更改的实时更新。...Visual Studio 2017对Xamarin.Forms Previewer做了许多改进,来增加所支持的控件和XAML结构的范围。...通过Visual Studio 2017内一步步的指导我们整个过程,Android Archive Manager我们提供了无缝应用发布流程。

    2.8K20

    dotnet Multi-platform App UI 多平台应用 UI 框架简介

    工具包的框架,可以理解这个动作是改名部大法的行为。...每个平台和UI控件的本机功能都可以通过一个简单的跨平台API触手可及,您可以提供不妥协的用户体验的同时共享比以前更多的代码 单一目开发体验 .NET MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具...现代的应用程序开发模式 .NET的愿景的一部分是开发人员的个人喜好方面开发人员提供选择,以便使用.NET可以提高工作效率。...开发人员可以依据以及的喜好选择适合的方式 从 Xamarin.Forms 过渡到 .NET MAUI 框架 毕竟这是微软改名部大法的行动,现在 Xamarin.Forms 开发人员可以使用使用他们已经了解和喜爱的所有相同控件和...API .NET MAUI新项目中运行。

    5.2K20

    Succinctly 中文系列教程(三)20220109 更新

    Succinctly Akka.NET 教程 零、简介 一、引言 二、Akka.NET 组件 三、演员介绍 四、使用演员 五、演员生命周期和状态 六、演员的可转换行为 七、演员层次结构 八、演员路径和演员选择...十一、备份和恢复 十二、最后的话 Succinctly MonoGame 教程 一、简介 二、安装和配置 三、创建第一个游戏 四、2D 图形 五、输入 六、音频 七、完成游戏 Succinctly UWP...三、一图胜千言 四、表格的转动 五、坚固基础的组件 六、向用户反馈状态 七、按钮形状的疯狂表单 八、整个世界的导航 九、纸牌屋 十、数据的表单 十一、组件集的剩余部分 十二、Bootstrap 的蝙蝠侠实用腰带...教程 零、简介 一、开始学习 Xamarin.Forms 二、平台间代码共享 三、使用 XAML 构建用户界面 四、使用布局组织 UI 五、Xamarin.Forms 常用控件 六、页面和导航 七、...资源和数据绑定 八、访问平台特定的 API 九、管理应用生命周期 十、实用资源 Succinctly 面向 MacOS 的 Xamarin.Forms 教程 零、简介 一、开始学习 Xamarin.Forms

    18.4K20

    再见Xamarin,微软官宣跨平台 UI 框架 MAUI

    单一目开发体验 MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具。...使用内置的跨平台资源,您可以将任何图像,字体或翻译文件添加到单个项目中,并且 MAUI 会自动设置本机挂钩,以便您可以进行编码。...拥有现代 App 的开发模式 .NET的愿景的一部分是开发人员的个人喜好方面开发人员提供选择,以便使用.NET可以提高工作效率。...从 Xamarin.Forms 过渡到 .NET MAUI Xamarin.Forms 开发人员将使用他们已经了解和喜爱的所有相同控件和 API 来开始 .NET MAUI 中使用新项目运行。...MAUI 将以与 Xamarin.Forms 相同的6周节奏进行发布。 我们已经GitHub上发布了MAUI路线图,并邀请您今天就加入我们!

    11.8K20

    译 | .NET Multi-platform App UI 多平台应用 UI 框架简介

    工具包的框架,可以理解这个动作是改名部大法的行为。...每个平台和UI控件的本机功能都可以通过一个简单的跨平台API触手可及,您可以提供不妥协的用户体验的同时共享比以前更多的代码 单一目开发体验 .NET MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具...现代的应用程序开发模式 .NET的愿景的一部分是开发人员的个人喜好方面开发人员提供选择,以便使用.NET可以提高工作效率。...开发人员可以依据以及的喜好选择适合的方式 从 Xamarin.Forms 过渡到 .NET MAUI 框架 毕竟这是微软改名部大法的行动,现在 Xamarin.Forms 开发人员可以使用使用他们已经了解和喜爱的所有相同控件和...API .NET MAUI新项目中运行。

    4.8K10

    Xamarin 学习笔记 - 配置环境(Windows & iOS)

    背景介绍 一直以来,做为一名Web以及桌面开发人员,我一直使用.NET框架和C#语言,而在某些项目中,Angular会在前端占有主导地位。...通过使用Xamarin.Forms,用户UI界面通过一个统一的框架,也就是XAML,可以同时用于三种不同的平台。...UWP 它仅适用于Windows,其安装过程非常简单,仅需选中“使用Windows通用平台进行开发”的选项作为安装UWP开发环境和SDK的选择:用于Windows 10的IntelliTrace以及SDK...安装,需要选择使用.NET的移动开发。 IOS 安装Visual Studio for Mac的过程和在Windows下安装Windows的过程非常相似。...你可以安装选择需要的组件,或许你会选择不安装Android SDK,因为你已经Windows平台下安装过了。

    6.1K20

    客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

    UWP 微软为了针对移动端市场开放的开发框架,如果你的APP只需要运行在Windows下,我认为WPF或者UWP是最好的选择,毕竟在调用系统原生API上微软的亲儿子们有着巨大的优势。...Xamarin主要有这么几项技术,Xamarin.Android、Xamarin.iOS和Xamarin.Forms,此外还有Xamarin.UWP、Xamarin.Windows、Xamarin.WinPhone...Xamarin最为关键的技术Xamarin.Forms,把IOS、android、UWP等平台的GUI进行了一统地抽象,开发者只需要写一套代码,编译器会在编译将界面映射到原先控件上,从而获得原生平台的外观和性能...Dart UI向上层提供了 window、text、canvas、geometry等通用的绘图能力, Runtime调用 Dart UI,Dart UI根据传递的 main entrypoint 来执行并且向...为什么选择Dart Dart 的性能更好。Dart JIT模式下,速度与 JavaScript基本持平。但是 Dart支持 AOT,当以 AOT模式运行时,JavaScript便远远追不上了。

    14.4K30

    .NET 官宣跨平台 UI 框架 MAUI

    单一目开发体验 MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具。...使用内置的跨平台资源,您可以将任何图像,字体或翻译文件添加到单个项目中,并且 MAUI 会自动设置本机挂钩,以便您可以进行编码。...拥有现代 App 的开发模式 .NET的愿景的一部分是开发人员的个人喜好方面开发人员提供选择,以便使用.NET可以提高工作效率。...从 Xamarin.Forms 过渡到 .NET MAUI Xamarin.Forms 开发人员将使用他们已经了解和喜爱的所有相同控件和 API 来开始 .NET MAUI 中使用新项目运行。...MAUI 将以与 Xamarin.Forms 相同的6周节奏进行发布。 我们已经GitHub上发布了MAUI路线图,并邀请您今天就加入我们!

    3.8K20

    【愚公系列】2022年09月 MAUI框架-MAUI项目的创建

    跨平台框架, MAUI 是Xamarin.Forms演变而来, 这也就意味着, 如果你原来具备Xamarin.Forms开发经验, 你可以流畅的过渡到MAUI开发当中。...此版本中, 将不会存在Xamarin.Forms项目模板。...“ 创建新项目 ”以创建新项目: “创建新项目”窗口中,“所有项目类型”下拉列表中选择 MAUI,选择 .NET MAUI 应用模板,然后单击“下一步”按钮: “配置新项目...”窗口中,命名项目,选择合适的位置,然后单击“ 下一步 ”按钮: “其他信息 ”窗口中,单击“ 创建 ”按钮: 等待项目创建,并还原其依赖 Visual Studio...工具栏中,使用 “调试目标 ”下拉列表选择 框架 ,然后选择 net6.0-windows 条目: Visual Studio 工具栏中,按 Windows 计算机 按钮生成并运行应用:

    3.2K20

    C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

    今天主要学习Xamarin.Forms中提供的各类页面,如图: 效果如下: 正文 1.创建跨平台的可移植项目    首先我们先新建一个项目,具体如图: 第二步我们选择如下: 注意:这里一定要选择可移植的类库...因为共享项目新建页面的时候有点问题,所以不推荐 点击OK,我们就可以得到如下几个程序集 我们可以看到,第一个是可移植的,这里就是我们要编写代码的地方, 下面2个,一个安卓,一个IOS,如果你使用调试安卓,就设置他启动...如果你想调试IOS,那么你就设置下面的启动.(需要Mac) 因为我们编写的是跨平台的项目,所以,我们一般不需要编写下面2个程序集(当然,有些特殊情况是需要的)....,第二个绿填充,第三个蓝填充....效果如图: 这是一个很有用的基础页面,我们很多APP中应该都见过. 我们看看来如何使用它. 我们直接新建.如图选择: 点击添加,会添加4个文件,如图: 我们一个个来讲解.

    5.3K61
    领券