【发布时间】: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