Одним простым способом было бы поймать изменение свойства IsActive
в стиле. Родительское окно будет деактивировано при появлении дочернего окна:
<Window.Style>
<Style TargetType="Window">
<Style.Triggers>
<Trigger Property="IsActive" Value="False">
<Setter Property="Effect">
<Setter.Value>
<BlurEffect Radius="5" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Window.Style>
Недостатком этого подхода является то, что окно также деактивируется при выходе из приложения. Если это проблема для вас, то, вероятно, вам лучше придерживаться идеи применения эффекта в коде при открытии диалогового окна.