【问题标题】:Binding Context initialize component issue绑定上下文初始化组件问题
【发布时间】:2020-04-10 19:56:23
【问题描述】:

所以我有 2 个对象,我需要初始化这两个对象,但只要应用程序启动。目前我正在初始化我的MainWindowViewModel,但我的Budget 仅在我单击我的应用程序上的一个按钮后才初始化,即单击保存按钮以保存用户输入的信息。下面是我的MainPage 代码。如果有人能告诉我哪里出了问题,我将不胜感激。

 public partial class MainPage : TabbedPage
{
    public MainPage()
    {
        BindingContext = new Budget();
        BindingContext = new MainWindowViewModel();
        InitializeComponent();
    }

下面是应用程序的图片,它应在总金额下方显示 0 英镑,并且输入为 0。

.cs 中的所有绑定都是正确的,它绝对是问题所在的MainPage()

【问题讨论】:

  • 您知道使用此代码您将不再与 Budget 实例交互,因为您不再引用它吗?
  • 为什么要分配两次 BindingContext?您的页面只有一个 BindingContext 属性。正如@selvin 所说,在创建预算对象后,您并没有维护对它的引用。
  • @Jason 我最好的方法是什么,为预算创建一个新的 TabbedPage?
  • 现在可以用了吗?

标签: c# xamarin


【解决方案1】:
Budget BudgetVM { get; set; }
MainWindowViewModel ViewModel { get; set; }

public MainPage()
{
    InitializeComponent();

    BudgetVM = new Budget();
    BindingContext = ViewModel = new MainWindowViewModel();
}

【讨论】:

  • 我完全不知道您尝试如何/在哪里/等使用Budget。您只发布了两行代码,我已经指出了这两行代码的明显问题。如果您需要更多帮助,您需要提供有关该问题的更多相关背景。
  • 公平!我已经更新了屏幕截图如果您需要查看其他内容,请告诉我。我确信它的 MainPage()
  • 这对于解释问题所在绝对没有用。我们不应该在您每次发帖时都与您一起玩 20 个问题来了解您要解决的问题。为什么不将 Budget 设为 MainPageViewModel 的属性?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-09
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多