拜,
当出现模态窗口时,我无法找到将“淡化”或“变暗”应用于我的应用程序的方法。我有多个窗口,所以让应用程序称为window1,可以启动window2,它可以启动模态window3。当我尝试应用任何效果时,我似乎只能使直接的父(window2)或整个监视器空间(我不想要)变暗(或模糊或其他任何我想的)。
如何将效果应用于应用程序的所有窗口,只保留当前活动/模态窗口?
答案 0 :(得分:0)
您可以将一个对象(布尔值?)添加到App对象的资源中,并绑定放在每个窗口中的叠加层。
绑定窗口的Visibility和IsEnabled属性,以防止用户选中叠加层下面的控件。
打开或关闭“模态”对话框时,切换对象。
<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>