0

问候,

当模态窗口出现时,我无法找到一种方法来对我的应用程序应用“淡化”或“变暗”。我有多个窗口,所以可以说应用程序作为 window1,可以启动 window2,它可以启动模态 window3。当我尝试应用任何效果时,我似乎只能使直接父级(window2)或整个监视器空间(我不想要)变暗(或模糊或其他任何我感觉)。

如何将效果应用于应用程序的所有窗口,只保留当前活动/模式一个清晰?

4

1 回答 1

0

您可以将一个对象(布尔值?)添加到 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>
于 2012-07-31T19:21:51.160 回答