Beispiel #1
0
        public static void BackToPreviousWithWait(Action action, ViewUnifierParams waitParameters = null)
        {
            if (waitParameters == null)
            {
                waitParameters = ViewUnifierParams.Empty;
            }

            var waitThread = new Thread(() =>
                                        Start(Wait.GetType(), false, waitParameters.Params));

            var formThread = new Thread(() => {
                waitThread.Join();
                action();

                BackToPrevious();
            });

            waitThread.SetApartmentState(ApartmentState.STA);
            waitThread.Start();
            formThread.Start();
        }
Beispiel #2
0
        public static void StartWithWait(Type type, Action action, ViewUnifierParams formParameters = null, ViewUnifierParams waitParameters = null)
        {
            if (formParameters == null)
            {
                formParameters = ViewUnifierParams.Empty;
            }
            if (waitParameters == null)
            {
                waitParameters = ViewUnifierParams.Empty;
            }

            var waitThread = new Thread(() => Start(Wait.GetType(), waitParameters.Params));

            var formThread = new Thread(() => {
                waitThread.Join();
                action();
                Start(type, formParameters.Params);
            });

            waitThread.SetApartmentState(ApartmentState.STA);
            waitThread.Start();
            formThread.Start();
        }
Beispiel #3
0
 public static void StartWithWait <TWindow>(Action action, ViewUnifierParams formParameters = null, ViewUnifierParams waitParameters = null)
 {
     StartWithWait(typeof(TWindow), action, formParameters);
 }