WPF 开发遇到的问题

1 应用被最小化点击任务栏图标无法展开(最大化)显示应用

1.1 问题原因:主窗体 ResizeMode="CanMinimize",子窗体  ResizeMode="NoResize"。当主窗体和子窗体一起显示的之后。应用被最小化,点击任务栏上的图标无法展开(最大化)显示应用

解决方案:将子窗体  ResizeMode="NoResize" 修改为 ResizeMode="CanMinimize" ,却不能以管理员运行

1.2 以管理员身份运行,
1.2.1  全屏主窗体 WindowState="Maximized" WindowStyle="None"  ResizeMode="CanMinimize" 子窗体同时显示 。点击侧边栏 主页 。最小化之后 就无法在任务栏打开,使用Win+M 可以,但是不能再调用User32设置窗体最小化显示

1.2.2  win + m 无法将显示模态最小化

1.2.3  全屏主窗体 WindowState="Maximized" WindowStyle="None"  ResizeMode="CanMinimize"  同时显示,使用Win+M  。先最小化,再点击侧边栏 主页 ,最小化之后可以在任务栏打开,但是子窗体是在左下角最小化,需要监听主窗体的VisibilityChange 事件来还原子窗体

 

2  

    使用AllowsTransparency = true ,可避免程序启动白板或黑屏。但使用之后性能不好。故采用 WindowChrome.WindowChrome 代替。

<!--修复调用AllowsTransparency的异常,优先使用WindowChrome,解决点开应用程序出现白屏或黑屏的问题-->

    <WindowChrome.WindowChrome>

        <WindowChrome GlassFrameThickness="-1" CaptionHeight="0" UseAeroCaptionButtons="False"  CornerRadius="0" NonClientFrameEdges="None"  ResizeBorderThickness="0"/>

</WindowChrome.WindowChrome>

但需要注意的是,使用WindowChrome.WindowChrome时, ResizeMode 不能设置为CanResize ,否则 启动会白屏以及使窗体向外扩,可以使用CanMinimize避免上面两个问题。

 

posted on 2022-08-01 16:00  TanZhiWei  阅读(299)  评论(0编辑  收藏  举报