1

ここ数日、警告を回避する方法を見つけようとしてきました。

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 はストーリーボードをサポートしていますか

私の主な質問: ストーリーボードを使用してビューモデルでビューを変更することは可能ですか? (ビューからセグエを使用するのではなく)

4

2 に答える 2