【问题标题】:xamarin.forms - pass viewModel data to android activityxamarin.forms - 将 viewModel 数据传递给 android 活动
【发布时间】:2017-09-19 12:51:16
【问题描述】:

我正在制作一个OnKeyDown 和向上音量按钮事件。如果应用程序检测到他们都点击了,那么它应该移动到另一个页面。事情是我想将BindingContext 传递到新页面。

总体在MainActivity.cs

public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
        {
            if (keyCode == Keycode.VolumeUp)
            {
                _pressedKeys.Add(Keycode.VolumeUp);
                if (_pressedKeys.Contains(Keycode.VolumeDown))
                {
                    ChangePage(); //go to view
                }
                return true;
            }

            if (keyCode == Keycode.VolumeDown)
            {
                _pressedKeys.Add(Keycode.VolumeUp);
                if (_pressedKeys.Contains(Keycode.VolumeUp))
                {

                    ChangePage(); ////go to view
                }
                return true;
            }

            return base.OnKeyDown(keyCode, e);
        }

整体功能运行良好,非常好。问题是因为我不知道如何通过BindingContext。我试图做这样的事情:

var mainViewModel = Application.Current.MainPage.BindingContext as MainViewModel;

但是Application 不包含Current 的定义...

我仍在学习 xamarin.forms 并为此苦苦挣扎了几个小时......你们能帮帮我吗?

【问题讨论】:

    标签: c# android xamarin mvvm xamarin.forms


    【解决方案1】:

    也许你应该使用:

    var mainViewModel = App.Current.MainPage.BindingContext as MainViewModel;
    

    检查您的 App 类名称(在 PCL 库中)。这应该可以。

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 1970-01-01
      • 2022-01-21
      • 2016-08-08
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多