私はこのVMを表示するためにViewModelとDialogFragmentを持っています。コア内 私はこのようViewModelでMvxDialogFragmentをバインドする
this.ShowViewModel<AnnotationEditViewModel>();
でVMを示している私はこの要求を検出することができるShowv方法でMainPresenterにおける要求があるAnnotationEditDialogFragment.cs
[Register("AnnotationEditDialogFragment")]
public class AnnotationEditDialogFragment : MvxDialogFragment<AnnotationEditViewModel>
{
...
public override Dialog OnCreateDialog(Bundle savedInstanceState)
{
base.EnsureBindingContextSet(savedInstanceState);
var view = this.BindingInflate(Resource.Layout.text_annotation_dialog_fragment, null);
var titleAnnotationTextView = view.FindViewById<TextViewWithFont>(Resource.Id.titleAnnotationTextView);
var set = this.CreateBindingSet<AnnotationEditFragment, AnnotationEditViewModel>();
set.Bind(this).For(be => be.CanBeSaved).To(vm => vm.CanBeSaved);
set.Apply();
builder = new AlertDialog.Builder(Activity);
LayoutInflater inflater = Activity.LayoutInflater;
builder.SetView(view);
alertDialog = builder.Create();
return alertDialog;
}
...
}
でこのコードを持っています。
MainPresenterに私はこのコードを入力した場合:)(私は、ダイアログ・ボックスが表示さ
var textAnnotationDialogFragment = Activity.FragmentManager.FindFragmentByTag(nameof(AnnotationEditFragment)) as AnnotationEditFragment ?? new AnnotationEditFragment();
textAnnotationDialogFragment.Show(Activity.FragmentManager, nameof(AnnotationEditFragment));
- を、私はShowViewModelのためにこのコードを入力する場合、私は、VM/
と結合していません:
base.Show(request, fragmentRequest);
- 私はエラーを取得すること私のVMのアクティビティやフラグメントが見つかりませんでした。/ VMにバインドするダイアログを表示するにはどうすればよいですか?