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

条目FindByName在xamarin forms mvvm中始终为空

在Xamarin Forms MVVM中,如果FindByName方法始终返回空值,可能是由于以下几个原因导致的:

  1. 命名问题:确保在XAML文件中正确命名了要查找的元素。FindByName方法是通过在XAML中设置的x:Name属性来查找元素的,因此请确保x:Name属性的值与FindByName方法中传入的名称完全匹配。
  2. 查找时机:在执行FindByName方法之前,确保页面已经加载完毕。可以在页面的构造函数中调用FindByName方法,或者在页面的Loaded事件中调用。
  3. 查找范围:FindByName方法默认只在当前页面的命名空间中查找元素。如果要在其他命名空间中查找元素,可以使用命名空间前缀来指定查找范围,例如"namespace:ElementName"。
  4. 继承关系:如果要查找的元素位于视图模型的子视图中,需要使用FindByName方法的返回值进行进一步的查找。例如,如果要查找一个ListView中的元素,可以先使用FindByName方法找到ListView,然后再使用ListView的FindByName方法来查找子元素。
  5. 数据绑定:如果要在ViewModel中访问页面上的元素,可以考虑使用数据绑定来实现。通过在XAML中设置元素的BindingContext属性,可以将ViewModel与页面上的元素进行绑定,从而可以直接在ViewModel中访问元素。

总结起来,要解决FindByName方法始终为空的问题,需要确保正确命名元素、在正确的时机调用方法、指定正确的查找范围、处理继承关系,并且可以考虑使用数据绑定来简化操作。

腾讯云相关产品和产品介绍链接地址:

  • Xamarin Forms:https://cloud.tencent.com/product/xamarin-forms
  • 数据库:https://cloud.tencent.com/product/cdb
  • 服务器运维:https://cloud.tencent.com/product/cvm
  • 云原生:https://cloud.tencent.com/product/tke
  • 网络通信:https://cloud.tencent.com/product/vpc
  • 网络安全:https://cloud.tencent.com/product/ssm
  • 音视频:https://cloud.tencent.com/product/tc-live
  • 多媒体处理:https://cloud.tencent.com/product/mps
  • 人工智能:https://cloud.tencent.com/product/ai
  • 物联网:https://cloud.tencent.com/product/iotexplorer
  • 移动开发:https://cloud.tencent.com/product/mobapp
  • 存储:https://cloud.tencent.com/product/cos
  • 区块链:https://cloud.tencent.com/product/baas
  • 元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

3.2K20

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

MAUI将在所有这些版本可用,并支持现有的MVVM和XAML模式以及将来的功能,例如使用C#甚至是Blazor的模型视图更新(MVU)。...MVVM Model-View-ViewModel(MVVM)和 XAML 是 .NET 开发人员数十年来的主要模式和实践,它们是MAUI的一流功能,这将继续发展,以帮助您高效地构建和维护生产应用程序...从 Xamarin.Forms 过渡到 .NET MAUI Xamarin.Forms 开发人员将使用他们已经了解和喜爱的所有相同控件和 API 来开始 .NET MAUI 中使用新项目运行。...MAUI 将以与 Xamarin.Forms 相同的6周节奏进行发布。 我们已经GitHub上发布了MAUI路线图,并邀请您今天就加入我们!...我们致力于.NET开发人员提供最新的移动SDK的最新信息,这是.NET MAUI的基础,并且始终如一。

11.8K20
  • .NET 官宣跨平台 UI 框架 MAUI

    MAUI将在所有这些版本可用,并支持现有的MVVM和XAML模式以及将来的功能,例如使用C#甚至是Blazor的模型视图更新(MVU)。...MVVM Model-View-ViewModel(MVVM)和 XAML 是 .NET 开发人员数十年来的主要模式和实践,它们是MAUI的一流功能,这将继续发展,以帮助您高效地构建和维护生产应用程序...从 Xamarin.Forms 过渡到 .NET MAUI Xamarin.Forms 开发人员将使用他们已经了解和喜爱的所有相同控件和 API 来开始 .NET MAUI 中使用新项目运行。...MAUI 将以与 Xamarin.Forms 相同的6周节奏进行发布。 我们已经GitHub上发布了MAUI路线图,并邀请您今天就加入我们!...我们致力于.NET开发人员提供最新的移动SDK的最新信息,这是.NET MAUI的基础,并且始终如一。

    3.8K20

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

    最后,您将始终可以访问本机底层操作系统API,通过特定于新平台的集成可以让开发比以往更加轻松。特定平台下,可以添加针对特定平台的代码用来访问平台相关的本地 API 接口。...现代的应用程序开发模式 .NET的愿景的一部分是开发人员的个人喜好方面开发人员提供选择,以便使用.NET可以提高工作效率。... GitHub 上的路线图请看 https://github.com/dotnet/maui/wiki/Roadmap XamarinXamarin.Forms的未来是什么 作为咱.NET统一的一部分...微软致力于.NET开发人员提供最新的移动SDK的最新版的支持,这是.NET MAUI的基础,并且始终如一。...此后的所有工作都将转移到.NET 6 Xamarin.Forms将于今年晚些时候发布新的主版本,并继续2021年11月通过.NET 6 GA每6周发布次要版本和服务版本。

    5.2K20

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

    最后,您将始终可以访问本机底层操作系统API,通过特定于新平台的集成可以让开发比以往更加轻松。特定平台下,可以添加针对特定平台的代码用来访问平台相关的本地 API 接口。...现代的应用程序开发模式 .NET的愿景的一部分是开发人员的个人喜好方面开发人员提供选择,以便使用.NET可以提高工作效率。... GitHub 上的路线图请看 https://github.com/dotnet/maui/wiki/Roadmap XamarinXamarin.Forms的未来是什么 作为咱.NET统一的一部分...微软致力于.NET开发人员提供最新的移动SDK的最新版的支持,这是.NET MAUI的基础,并且始终如一。...此后的所有工作都将转移到.NET 6 Xamarin.Forms将于今年晚些时候发布新的主版本,并继续2021年11月通过.NET 6 GA每6周发布次要版本和服务版本。

    4.8K10

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

    如果你使用过 Xamarin.Forms,你可能知道至少有一个转换器是你每个项目中都需要的。但你没有把它封装在一个库,因为它太小了,你一次又一次地复制和粘贴它。...将这些东西集中工具包,我们会让维护工作变得更容易,你只需把它放入这个库,这个库可以为你提供 Xamarin.Forms 的一站式服务。我们希望能在.NET MAUI 上继续这样做。...这样做的同时,我们从我们的工具包删除了一些概念,这些概念让我们接近于自己实现一个 MVVM 框架,这是我们不想做的。...现在,我们可以把我们的 ObservableCollection 改进和其他东西从我们的工具包拿出来,放到 CommunityToolkit.Mvvm。...InfoQ:将来的话,.NET MAUI 社区工具实现的所有新特性都会在 Xamarin 社区工具包实现吗?

    2.7K20

    Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    本文将会介绍整个Xamarin.Forms框架的核心和基础概念,包括: · 如何安装 Xamarin.Forms · Visual Studio和Xamarin Studio建立 Xamarin.Forms...Xamarin.Forms每一个屏幕画面都有对应概念叫:Page,Xamarin.Forms.Page 安卓与 Activity对应, iOS 与 ViewController对应,Windows...使用 Xamarin.Forms Page Android 创建一个Activity类型,并且使用 MainLauncher 特性修饰, OnCreate 方法,初始化Xamarin.Forms框架...iOS 对于Xamarin.iOS应用程序,AppDelegate的FinishedLaunching方法,首先初始化Xamarin.Forms框架,然后设定RootViewController...页面导航可以理解一个后进先出的堆栈结构,展现一个页面相当于堆栈添加一个元素,如果需要回到前一个页面,就需要把当前的页面从堆栈删除。

    12.9K70

    .NET 基金会项目介绍-.NET Micro Framework

    项目详情 官网地址 项目源码 项目许可证: Apache License 2.0 项目联系人: Steve Maillet 相关链接 项目文库 笔者简评 小型设备上的开发竞争始终没有停止过,C/C++...此类编译型语言初期就占据了主要优势。...而现在,硬件设备成本已经一再降低、物联网重要概念和解决方案的落地,小型设备上的竞争就更为明显了。 .NET Micro Framework 提供了小型设备上使用.Net进行开发应用程序的可能。...工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit - 【WP 工具库】 Windows Template Studio - 【UWP 项目模板】 Windows Forms...- 【移动端身份认证工具库】 Xamarin.Mobile - 【移动端工具库】 xUnit.net - 【单元测试框架】

    1.3K20

    .NET 基金会项目介绍-Windows Presentation Foundation WPF

    WPF 使用 Extensible Application Markup Language (XAML) 应用编程提供了一种声明式的 UI 建模方案。 WPF 程序基于一个矢量图形架构。... Visual Studio ,开发者可以使用可视化编辑器进行拖拽式的 UI 构建,当然直接编辑 XAML 也是可行的。...项目详情 项目源码 项目许可证: MIT 相关链接 参与贡献 项目路线图 笔者简评 WPF 所提供的 MVVM 编程范式和 Windows Forms 的基于事件驱动的方式有很大区别。...而现在流行的各类 UI 方案MVVM 范式的应用也越来越重。不过 WPF 除了 MVVM 本身,还包含有很多相较于 Windows Forms 更为现代化的设计理念。...但是 WPF 依旧坚挺,特别是一些专业领域的应用,WPF 表现更为耀眼,例如:同花顺 目前, WPF 已经可以基于 netcore 进行开发。

    1.2K00

    张高兴的 Xamarin.Forms 开发笔记:TapGestureRecognizer 的简单介绍与应用

    最近很少写应用了,一直忙关于 ASP.NET 的东西(哈欠...)。抽点时间对 TapGestureRecognizer 做点总结。...当然手势不止 Tap 这一种,更多的可以 Xamarin 的指南中了解:https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals...对于 MVVM 涉及的绑定,可以去官方找找。 2....YourControl.GestureRecognizers.Add(tapGestureRecognizer); 三、应用   写了一个小小的 Demo (GitHub:https://github.com/ZhangGaoxing/xamarin-forms-demo...没有 Clicked 事件的控件添加假的 Clicked 事件   换句大白话来说,就是点击一个控件触发一个事件。这里以 Label 举例,点击 Label 以“0”和“1”变化。

    1K20

    张高兴的 Xamarin.Forms 开发笔记:TapGestureRecognizer 的简单介绍与应用

    最近很少写应用了,一直忙关于 ASP.NET 的东西(哈欠...)。抽点时间对 TapGestureRecognizer 做点总结。...当然手势不止 Tap 这一种,更多的可以 Xamarin 的指南中了解:https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals...对于 MVVM 涉及的绑定,可以去官方找找。 2....YourControl.GestureRecognizers.Add(tapGestureRecognizer); 三、应用   写了一个小小的 Demo (GitHub:https://github.com/ZhangGaoxing/xamarin-forms-demo...没有 Clicked 事件的控件添加假的 Clicked 事件   换句大白话来说,就是点击一个控件触发一个事件。这里以 Label 举例,点击 Label 以“0”和“1”变化。

    79870

    Xamarin 学习笔记 - Page(页面)

    引言 之前的章节,我讲解了如何为Android或者iOS应用程序开发准备环境以及Layout布局的一些基本概念。 本章,我将开始Xamarin.Forms展示我们页面的结构。...这里我们将不谈论任何平台,它仅仅是一个标准(当前版本2.0),你的代码可以支持它的所有平台上运行。2017年11月,.NET Standard进入了Xamarin.Forms的项目模板。...这些视图是一组控件,本示例,我们用到的是:一个Label标签,一个Entry(输入文本)以及一个Button按钮。 Xamarin.Forms提供了许多可用的页面,以允许提出各种不同的导航体验。...邀请你如下链接了解更多相关信息: https://developer.xamarin.com/api/type/Xamarin.Forms.NavigationPage/ TabbedPage 如同该类型的名称一样...后面大家如果有其他想了解的Xamarin教程也可以PM我们,也欢迎我们投稿。

    4.6K20

    C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

    今天我们讲讲XamarinMVVM双向绑定,嗯..需要有一定的MVVM基础.,具体什么是MVVM - -,请百度,我就不多讲了 效果如下: ?...他包含一个PropertyChanged,属性变更事件,我们需要在每个属性变更的时候(也就是Set),调用它 具体的开发过程,如果你需要使用MVVM那么你所有的ViewModel都应该继承它....我们构造函数启动的定时程序,就会一直更新DateTime,对应的,页面上也会一直随着变更.这样我们就实现了一个基础的MVVM 效果如图: ?...然后就一一对应的xaml绑定了相关的属性.所有的Slider绑定中都有个Mode=TwoWay,意思就是,这个属性双向绑定,控件变更它的同时,也会在ViewModel变更....今天主要学习了XamarinMVVM双向绑定和命令绑定, 需要双向绑定的类,需要继承INotifyPropertyChanged,需要绑定的命令,需要继承:ICommand 最后,列一下可以使用命令绑定的控件

    1.6K100

    dotnet UOS 国产系统上使用 Xamarin Forms 创建 xaml 界面的 GTK 应用

    有小伙伴说, Windows 下,用 VS 新建一个 Xamarin.Forms 项目之后,再拷贝到 UOS 上,也是可以的,但是有一点需要注意的是不能拷贝 bin 和 obj 文件夹过去,原因是...等系统创建好了 Xamarin Forms 的方法,咱就在 UOS 上一步步创建 删除 A 项目,也就是安装了 Xamarin Forms 的控制台项目,的 Program.cs 文件 然后选择新建一个...xml 文件,创建完成之后修改命名为 App.xaml 文件,同时创建一个类叫 App.xaml.cs 文件 这两个文件将表示 Xamarin Forms 项目的起始,也就是 Xamarin 层的启动入口...使用 Xamarin.Forms 的 GTK 应用,有两层入口,第一层是本机程序的入口,也就是 B 项目的 Program 文件的 Main 方法入口,第二层就是 Xamarin.Forms 的 App...给 B 项目添加以下 NuGet 库 OpenTK Xamarin.Forms Xamarin.Forms.Platform.GTK 接着打开 B 项目的 Program.cs 文件, Main 方法添加如下代码

    2.6K10
    领券