0

挨拶、

モーダル ウィンドウが表示されたときに、アプリケーションに「フェード」または「ダークニング」を適用する方法を見つけることができませんでした。私は複数のウィンドウを持っているので、アプリケーションを window1 として、モーダル window3 を起動できる window2 を起動できるとしましょう。エフェクトを適用しようとすると、直接の親 (window2) またはモニター スペース全体 (これは望ましくありません) を暗くする (またはぼかすなど、自分の好みに合わせて) しかできないように見えます。

アプリケーションのすべてのウィンドウに効果を適用し、現在のアクティブ/モーダル ウィンドウのみをクリアするにはどうすればよいですか?

4

1 に答える 1

0

オブジェクト (ブール値?) を App オブジェクトのリソースに追加し、各ウィンドウに配置するオーバーレイをバインドできます。

Window の 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>
于 2012-07-31T19:21:51.160 に答える