问候,
当模态窗口出现时,我无法找到一种方法来对我的应用程序应用“淡化”或“变暗”。我有多个窗口,所以可以说应用程序作为 window1,可以启动 window2,它可以启动模态 window3。当我尝试应用任何效果时,我似乎只能使直接父级(window2)或整个监视器空间(我不想要)变暗(或模糊或其他任何我感觉)。
如何将效果应用于应用程序的所有窗口,只保留当前活动/模式一个清晰?
问候,
当模态窗口出现时,我无法找到一种方法来对我的应用程序应用“淡化”或“变暗”。我有多个窗口,所以可以说应用程序作为 window1,可以启动 window2,它可以启动模态 window3。当我尝试应用任何效果时,我似乎只能使直接父级(window2)或整个监视器空间(我不想要)变暗(或模糊或其他任何我感觉)。
如何将效果应用于应用程序的所有窗口,只保留当前活动/模式一个清晰?
您可以将一个对象(布尔值?)添加到 App 对象的资源中,并绑定您在每个窗口中放置的叠加层。
绑定 Window 的 Visibility 和 IsEnabled 属性,以防止用户通过 Tab 键切换到覆盖层下方的控件。
当您打开或关闭模态对话框时,切换对象。
<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
StartupUri="MainWindow.xaml">
<Application.Resources>
<sys:Boolean x:Key="IsShowingModalDialog">false</sys:Boolean>
</Application.Resources>
</Application>