Ich habe ViewModel und DialogFragment zum Anzeigen dieser VM. Im Kern zeige ich VM auf diese WeiseBinding MvxDialogFragment mit ViewModel
this.ShowViewModel<AnnotationEditViewModel>();
ich diesen Code haben in 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;
}
...
}
Ich habe Anfrage in MainPresenter in Showv Verfahren, in dem ich diese Anforderung erkennen kann.
wenn in MainPresenter i geben Sie diesen Code:
var textAnnotationDialogFragment = Activity.FragmentManager.FindFragmentByTag(nameof(AnnotationEditFragment)) as AnnotationEditFragment ?? new AnnotationEditFragment();
textAnnotationDialogFragment.Show(Activity.FragmentManager, nameof(AnnotationEditFragment));
- I Dialog zu sehen, aber ich habe nicht mit VM/
verbindlich, wenn ich für ShowViewModel diesen Code eingeben() :
base.Show(request, fragmentRequest);
- ich erhalte Fehler, wurde keine Aktivität oder Fragment für meine VM gefunden/ Wie kann ich einen Dialog mit der Bindung an VM haben?