コード例 #1
0
    public void ShowDialog(object _callerContentOne, object _callerContentTwo)
    {
        MyDialogViewModel viewmodel = new MyDialogViewModel(_callerContentOne, _callerContentTwo);
        MyDialogView      view      = new MyDialogView();

        view.DataContext = viewmodel;
        view.ShowDialog();
    }
コード例 #2
0
        public MainPageViewModel(MyIndicatorView myIndicatorView)
        {
            VAligns.Add(LayoutAlignment.Start);
            VAligns.Add(LayoutAlignment.Center);
            VAligns.Add(LayoutAlignment.End);

            HAligns.Add(LayoutAlignment.Start);
            HAligns.Add(LayoutAlignment.Center);
            HAligns.Add(LayoutAlignment.End);

            VAlign.Value = VAligns[1];
            HAlign.Value = HAligns[1];

            Configurations.LoadingConfig = new LoadingConfig {
                DefaultMessage = "Loading...", IsReusable = true
            };

            var loadingFlg = false;

            LoadingCommand.Subscribe(async _ =>
            {
                //Loading.Instance.Show();
                //await Task.Delay(1);
                //Loading.Instance.Hide();

                await Loading.Instance.StartAsync(async progress => {
                    //await Task.Delay(1);
                    progress.Report(0d);
                    for (var i = 0; i < 100; i++)
                    {
                        if (i == 50)
                        {
                            Loading.Instance.SetMessage("Soon...");
                        }
                        await Task.Delay(25);
                        progress.Report((i + 1) * 0.01d);
                    }
                }, null, loadingFlg).ConfigureAwait(false);

                loadingFlg = !loadingFlg;
            });


            CustomLoadingCommand.Subscribe(async _ =>
            {
                var customLoading = Loading.Instance.Create <MyIndicatorView>(new
                {
                    Message = "Loading...",
                    VAlign  = VAlign.Value,
                    HAlign  = HAlign.Value,
                    OffsetX = OffsetX.Value,
                    OffsetY = OffsetY.Value
                });
                await customLoading.StartAsync(async p =>
                {
                    await Task.Delay(1);
                    p.Report(0d);
                    for (var i = 0; i < 100; i++)
                    {
                        await Task.Delay(25);
                        p.Report((i + 1) * 0.01d);
                    }
                });
            });

            var dlgPage = new MyDialogView();


            DialogCommand.Subscribe(async _ =>
            {
                //var ret = await redlg.ShowAsync();

                //dlg.Dispose();
                var vmm = new {
                    Title          = "Title", Description = "This is a forms view.",
                    VAlign         = VAlign.Value,
                    HAlign         = HAlign.Value,
                    OffsetX        = OffsetX.Value,
                    OffsetY        = OffsetY.Value,
                    IsPageLocation = UseCurrentPageLocation.Value,
                };

                var ret = await Dialog.Instance.ShowAsync <MyDialogView>(vmm);
                //var ret = await Dialog.Instance.ShowAsync(page, vm);
            });

            ToastCommand.Subscribe(_ =>
            {
                Toast.Instance.Show <MyToastView>(new {
                    VAlign = VAlign.Value, HAlign = HAlign.Value, OffsetX = OffsetX.Value, OffsetY = OffsetY.Value
                });
            });
        }