MvxSidebarPresentationAttribute 未在 Presenter 字典中配置
MvxSidebarPresentationAttribute is not configured in the presenter dictionary
Unhandled Exception
System.Collections.Generic.KeyNotFoundException:
The type MvxSidebarPresentationAttribute is not configured in the
presenter dictionary
- MvvmCros 5.6 工具
- Visual studio 2015
- Windows 8.1
- iPhone 7 模拟器 iOS 10.3
代码
菜单视图
[MvxFromStoryboard("Main")]
[MvxSidebarPresentation(MvxPanelEnum.Left, MvxPanelHintType.PushPanel, false)]
public partial class MenuViewController : MvxViewController<MenuViewModel>
{
public MenuViewController(IntPtr handle) : base(handle)
{
}
public MenuViewController() : base("MenuViewController", null)
{
}
public override void DidReceiveMemoryWarning()
{
// Releases the view if it doesn't have a superview.
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
var set = this.CreateBindingSet<MenuViewController, MenuViewModel>();
set.Bind(btnFirst).To(vm => vm.GotoFirstView);
set.Bind(btnSecond).To(vm => vm.GotoSecondView);
set.Apply();
// Perform any additional setup after loading the view, typically from a nib.
}
}
第一次观看
[MvxFromStoryboard("Main")]
[MvxSidebarPresentation(MvxPanelEnum.Center, MvxPanelHintType.ResetRoot, true)]
public partial class FirstViewController : MvxViewController<FirstViewModel>
{
public FirstViewController() : base("FirstViewController", null)
{
}
public FirstViewController(IntPtr handle) : base(handle)
{
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
}
}
第二次观看
[MvxFromStoryboard("Main")]
[MvxSidebarPresentation(MvxPanelEnum.Center, MvxPanelHintType.ResetRoot, true)]
public partial class SecondViewController : MvxViewController<SecondViewModel>
{
public SecondViewController() : base("SecondViewController", null)
{
}
public SecondViewController(IntPtr handle) : base(handle)
{
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
}
}
我在我的 ios 项目中使用了上面的代码,但它只是在输出中显示错误
未处理的异常
System.Collections.Generic.KeyNotFoundException: Presenter字典中没有配置类型MvxSidebarPresentationAttribute
您必须在 iOS 项目的 Setup.cs
文件中使用 MvxSidebarPresenter
:
protected override IMvxIosViewPresenter CreatePresenter()
{
return new MvxSidebarPresenter((MvxApplicationDelegate)ApplicationDelegate, Window);
}
你可以看到工作示例in the samples。
Unhandled Exception
System.Collections.Generic.KeyNotFoundException: The type MvxSidebarPresentationAttribute is not configured in the presenter dictionary
- MvvmCros 5.6 工具
- Visual studio 2015
- Windows 8.1
- iPhone 7 模拟器 iOS 10.3
代码
菜单视图
[MvxFromStoryboard("Main")]
[MvxSidebarPresentation(MvxPanelEnum.Left, MvxPanelHintType.PushPanel, false)]
public partial class MenuViewController : MvxViewController<MenuViewModel>
{
public MenuViewController(IntPtr handle) : base(handle)
{
}
public MenuViewController() : base("MenuViewController", null)
{
}
public override void DidReceiveMemoryWarning()
{
// Releases the view if it doesn't have a superview.
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
var set = this.CreateBindingSet<MenuViewController, MenuViewModel>();
set.Bind(btnFirst).To(vm => vm.GotoFirstView);
set.Bind(btnSecond).To(vm => vm.GotoSecondView);
set.Apply();
// Perform any additional setup after loading the view, typically from a nib.
}
}
第一次观看
[MvxFromStoryboard("Main")]
[MvxSidebarPresentation(MvxPanelEnum.Center, MvxPanelHintType.ResetRoot, true)]
public partial class FirstViewController : MvxViewController<FirstViewModel>
{
public FirstViewController() : base("FirstViewController", null)
{
}
public FirstViewController(IntPtr handle) : base(handle)
{
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
}
}
第二次观看
[MvxFromStoryboard("Main")]
[MvxSidebarPresentation(MvxPanelEnum.Center, MvxPanelHintType.ResetRoot, true)]
public partial class SecondViewController : MvxViewController<SecondViewModel>
{
public SecondViewController() : base("SecondViewController", null)
{
}
public SecondViewController(IntPtr handle) : base(handle)
{
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
}
}
我在我的 ios 项目中使用了上面的代码,但它只是在输出中显示错误
未处理的异常
System.Collections.Generic.KeyNotFoundException: Presenter字典中没有配置类型MvxSidebarPresentationAttribute
您必须在 iOS 项目的 Setup.cs
文件中使用 MvxSidebarPresenter
:
protected override IMvxIosViewPresenter CreatePresenter()
{
return new MvxSidebarPresenter((MvxApplicationDelegate)ApplicationDelegate, Window);
}
你可以看到工作示例in the samples。