带有 Mvvmcross 的 Xamarin 表单选项卡式页面

2024-01-01

我遇到一个奇怪的问题,当我将内容页面设置为启动页面时,Xamarin Forms 应用程序工作正常。如果我将 TabbedPage 设置为启动项并将相同的 ContentPage 设置为 TabbedPage 的子级,则它不会显示/数据绑定 ContentPage。没有错误。我缺少什么想法吗?这是我的 TabbedPage 视图模型。

using MvvmCross.Core.ViewModels;
using System.Windows.Input;

namespace Company.Mobile.ViewModels
{
    public class TabbedMainViewModel
        : MvxViewModel
    {

    }
}

XAML:

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:forms="using:Xamarin.Forms"         
             xmlns:local="clr-namespace:company.Mobile.Pages;assembly=company.Mobile"   
             x:Class="company.Mobile.Pages.TabbedMainPage"
            Title="Title">
  <TabbedPage.Children>
    <local:HomePage/>
    <local:MainPage/>
    <local:ResourcesPage/>
    <local:ContactPage/>    
  </TabbedPage.Children>
</TabbedPage>

经过大量的尝试和错误以及来自社区的帮助,这就是有效的方法。

将 BindingContext 设置为 C# 背后的 ContentPage 代码,如下所示:

    public partial class HomePage : ContentPage
    {
        public HomePage()
        {
            InitializeComponent();
            var svc = Mvx.Resolve<IMobileService>();
            BindingContext = new HomeViewModel(svc);
        }    
    }

在 HomeViewModel 构造函数中获取数据,如下所示:

public class HomeViewModel : MvxViewModel

    {
        private readonly IMobileService service;

        public HomeViewModel(IMobileService service)
        {
            this.service = service;
            //Content = service.GetContent; //Get your data
        }
     }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 Mvvmcross 的 Xamarin 表单选项卡式页面 的相关文章

随机推荐

  • 如果 char 数组是 Java 中的对象,为什么打印它不显示其哈希码?

    打印 char 数组不显示哈希码 class IntChararrayTest public static void main String args int intArray 0 1 2 char charArray a b c Syst
  • 有 BOINC 编程经验吗?

    我被 BOINC 吸引是因为我的一个小项目 我听说过 BOINC 但没有太多了解它的工作原理 主要是因为我现在专注于其他优先事项 我想知道的是 你们中是否有人真正尝试过为 BOINC 编程并让程序在分布式计算机网络上运行 我特别对以下问题感
  • Kotlin:什么情况下会发生隐式转换?

    我是 Kotlin 的初学者 我最熟悉Python 刚刚读完基础Java教程https docs oracle com javase tutorial java index html https docs oracle com javase
  • 可以为 jQuery 前置添加动画吗?

    我在单击按钮时将一些数据添加到我的页面中 而不是立即填充到页面上 我想知道是否有一种方法可以对数据进行动画处理prepend using slideToggle或 CSS 动画 这是我当前的脚本 var data data html var
  • 为什么Android API中有这么多的浮动?

    Java 中默认的浮点类型是 double 如果你硬编码一个常量 比如2 5在你的程序中 Java会自动将其变为双精度 当您对浮点数或整数执行可能受益于更高精度的操作时 该类型将 提升 为双精度 但在 Android API 中 从音量到矩
  • 以内容长度分隔的消息正文过早结束(预期:

    我正在尝试在 apache httpclient 的帮助下获取 HTTP 响应 我成功获取标头 但当我尝试获取内容时它会引发异常 例外是 org apache http ConnectionClosedException Premature
  • (xcode 5) ibtool 失败,退出代码为 255

    有人能解决这个问题吗 我看过其他答案 但似乎没有一个对我有用 我可以正常运行其他项目 但我当前的项目因上述错误而失败 我想不出明显的原因 Clean 运行正常 没有代码错误 构建项目会导致此问题 我正在运行 xcode 5 我尝试重新安装模
  • Hadoop 无法完成作业,因为“设备上没有剩余空间”

    我正在尝试运行一个非常简单的 hadoop 作业 它是经典 wordCount 的修改版 它不是对单词进行计数 而是对文件中的行进行计数 我想用它来清理一堆我知道有重复的大日志文件 每个大约 70GB 每一行都是一个 记录 因此我感兴趣的是
  • 为什么使用 IList 或 List?

    我知道已经有很多关于此的帖子 但它仍然让我感到困惑 为什么要传入像 IList 这样的接口并返回像 IList 这样的接口而不是具体列表 我读了很多帖子 说这如何使以后更改实现变得更容易 但我只是不完全明白它是如何工作的 说一下我是否有这个
  • 使用请求负载模拟 HTTP 请求和响应

    我使用以下代码来模拟 HTTP 请求和响应对象节点模拟http https github com howardabrams node mocks http var request httpMocks createRequest method
  • 在 Rails 应用程序中启用 2 个不同的模型与同一张表对话

    我遇到了一些集成问题 我有两个模型需要映射 以便它们能够与同一张表对话 因此 一个模型具有一些映射到表中相应列的属性 对于另一个模型也是如此 我听说过别名 这是一种可以使用的技术 如有帮助 将不胜感激 谢谢 您创建两个模型并定义相同的 ta
  • 如何将 Sass 和 CSS 模块与 create-react-app 一起使用?

    我正在使用 FileName module scss 来设计我的反应元素 如下所示 this is my component import React from react import Aux from hoc Aux import cl
  • 我从未听说过的 fileinfo 和 mime 类型

    我对哑剧类型并不陌生 但这很奇怪 通常 文本文件会被认为是文本 纯 mime 但现在 在实现 fileinfo 之后 这种类型的文件现在被认为是 text x pascal 我有点担心 因为我需要确保在允许用户上传之前设置正确的 mime
  • 如何在 ngGridEventScroll 上使用页面滚动?

    使用ag Grid v2 X 我试图开发一个网格 当页面滚动 不是网格滚动 到达底部时加载更多数据 通过搜索类似的问题 我找到了解决方案第一个问题 ngGrid 必须具有动态高度 所以我做了这个 ngViewport height auto
  • “SELECT COUNT(column)”比“SELECT COUNT(*)”更快/更慢吗? [复制]

    这个问题在这里已经有答案了 我在 MSSQL2008 中运行这样的查询 select count from t1 inner join t2 on t1 id t2 t1 id inner join t3 on t1 id t3 t1 id
  • C++中的make_heap是如何实现复杂度为3N的?

    我想知道C 中make heap的算法是什么 复杂度为3 N 我能想到的通过插入元素来创建堆的唯一方法的复杂度为 O N Log N 多谢 您将堆表示为数组 下面的两个元素i 第一个元素位于位置2i 1 and 2i 2 如果数组有n然后
  • 重定向到 codeigniter 中的引用网址

    在我的项目的消息传递系统中 当您收到用户发来的消息时 您会收到一封电子邮件警报 说另一个用户已发送消息以查看该消息 请单击此处 即消息的网址 因此 如果用户未登录系统他被重定向到登录页面 登录后应该返回到引用网址 我在核心文件夹中创建了一个
  • 是否有正则表达式来测试字符串是否用于区域设置? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对正则表达式一无所知 但我想我必须使用它来解决我的问题 我得到了一些如下所示的文件名 MyResource MyResource e
  • DependencyObject.AssociatedObject 始终为 null

    我正在尝试编写一个客户行为 如果我的 可见性 在本例中只是一个布尔值 属性为 false 则将某些列宽度设置为 0 我的问题是 当我的更改事件触发它时 我的 AssociatedObject 是始终为空 这是相关的示例代码 也许有人可以看到
  • 带有 Mvvmcross 的 Xamarin 表单选项卡式页面

    我遇到一个奇怪的问题 当我将内容页面设置为启动页面时 Xamarin Forms 应用程序工作正常 如果我将 TabbedPage 设置为启动项并将相同的 ContentPage 设置为 TabbedPage 的子级 则它不会显示 数据绑定