Beispiel #1
0
        //static Type GetWindowType(CustomWindow customWindow) => customWindow switch
        //{
        //    CustomWindow.MessageBox => typeof(MessageBoxWindow),
        //    CustomWindow.LoginOrRegister => typeof(LoginOrRegisterWindow),
        //    CustomWindow.AddAuth => typeof(AddAuthWindow),
        //    CustomWindow.ShowAuth => typeof(ShowAuthWindow),
        //    CustomWindow.AuthTrade => typeof(AuthTradeWindow),
        //    _ => throw new ArgumentOutOfRangeException(nameof(customWindow), customWindow, null),
        //};

        Task Show(Type typeWindowViewModel,
                  bool isDialog,
                  CustomWindow customWindow,
                  string title,
                  WindowViewModel?viewModel,
                  ResizeModeCompat resizeMode,
                  Action <DialogWindowViewModel>?actionDialogWindowViewModel = null)
        => MainThreadDesktop.InvokeOnMainThreadAsync(async() =>
        /// <summary>
        /// 设置调整大小模式。
        /// </summary>
        /// <param name="window"></param>
        /// <param name="value"></param>
        public static void SetResizeMode(this Window window, ResizeModeCompat value)
        {
            var p = DI.Get <IDesktopPlatformService>();

            switch (value)
            {
            case ResizeModeCompat.NoResize:
            case ResizeModeCompat.CanMinimize:
                window.CanResize = false;
                break;

            case ResizeModeCompat.CanResize:
#pragma warning disable CS0618 // 类型或成员已过时
            case ResizeModeCompat.CanResizeWithGrip:
#pragma warning restore CS0618 // 类型或成员已过时
                window.CanResize = true;
                break;
            }
            p.SetResizeMode(window.PlatformImpl.Handle.Handle, (int)value);
        }