如何在WPF中最小化窗口启动时间

时间:2019-06-19 07:54:26

标签: c# wpf

我正在使用堆栈来维护Windows列表。当我打开任何窗口时,将窗口名称添加到堆栈中,当我单击“后退”按钮时,它将删除顶部元素,然后启动前一个窗口,而后退时,它会暂时显示白色,然后启动该窗口。因此,如何避免这种故障。

我尝试管理窗口上的UI元素负载,因为该窗口包含很多UI元素和动画。

StackFrame frame = new StackFrame(1);
            var method = frame.GetMethod();
            var type = method.DeclaringType;
            var name = method.Name;

            index = PathListType.Count - 1;

                if (index >= 0)
                {
                    if (ReturnStateHome)
                    {
                        for (int i = index; i > 0; i--)
                        {                           
                            PathListType.RemoveAt(i);
                            //  Remove the state
                            CloseBtnStateList.RemoveAt(i);                            
                            index = i - 1;
                        }
                        index = 1;
                    }
                    else
                    {

                        PathListType.RemoveAt(index);

                        CloseBtnStateList.RemoveAt(index);
                    }
//Code for launching windows

     if (typ == typeof(DemoLauncher)) { FrameData.IsPauseGesture = true; }

                        try
                        {
        //  Dynamically instantiate a class instance with specific type
                         Window wnd = (Window)Activator.CreateInstance(typ);
                         wnd.Show();
                        }
                        catch (Exception)
                        {

                        }

从堆栈启动时,我希望Windows之间能够平滑过渡

1 个答案:

答案 0 :(得分:0)

我真的建议您使用已经存在的组件:

  • 您不需要创建堆栈,而Microsoft Stack

  • ,对于所有打开的窗口,您在这里App.Current.Windows