ここ数日、警告を回避する方法を見つけようとしてきました。
mvx: 警告: 8.93 例外がマスクされました。 /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:222 の System.Activator.CreateInstance (System.Type タイプ) [0x00000] の class/corlib/System/Activator.cs:326 Cirrious.MvvmCross.Touch.Views.MvxTouchViewsContainer.CreateView (Cirious.MvvmCross.ViewModels.MvxViewModelRequest リクエスト) [0x00000] in :0 at Cirrious.MvvmCross.Touch.Views.MvxCanCreateTouchViewExtensionMethods.CreateViewControllerFor (IMvxCanCreateTouchView ビュー、Cirious.MvvmCross.ViewModels.MvxViewModelRequest) request) [0x00000] in :0 at Cirious .MvvmCross.Touch.Views.Presenters.MvxTouchViewPresenter.Show (Cirious.MvvmCross.ViewModels.MvxViewModelRequest request) [0x00000] in :0 at Cirrious.MvvmCross.Touch.Views.MvxTouchViewDispatcher+<>c__DisplayClass4.b__3 () [0x00000] in :0 at Cirrious.CrossCore.Core.MvxMainThreadDispatcher .ExceptionMaskedAction (System.Action アクション) [0x00000] in :0
ナビゲーションがこのコンストラクターを探しているようです:
public TimesheetView ()
{
}
このコンストラクターを使用したい場合 (ストーリーボードの目的で):
public TimesheetView (IntPtr handle) : base (handle)
{
}
あるビューから次の ICommand にボタンをバインドしようとしています。
private MvxCommand _NewTimesheetCommand;
public ICommand NewTimesheetCommand
{
get
{
_NewTimesheetCommand = _NewTimesheetCommand ?? new MvxCommand(() => {
ShowViewModel<TimesheetViewModel>(new TimesheetViewModel.Parameters { Mode = TimesheetViewModel.ModeEnum.ADD });
});
return _NewTimesheetCommand;
}
}
多くの StackOverFlow の質問を見た後、この質問に出くわしましたが、ストーリーボードを使用するにはセグエを使用する必要があるように思えます (つまり、ICommand を使用してビューを変更する方法はありません)。
MvvmCross はストーリーボードをサポートしていますか
私の主な質問: ストーリーボードを使用してビューモデルでビューを変更することは可能ですか? (ビューからセグエを使用するのではなく)