Xamlのリソースにボーダーのスタイルを作成する。
<Window.Resources>
<Style x:Key="ActiveBorderStyle" TargetType="{x:Type Border}">
</Style>
</Window.Resources>
<Style x:Key="ActiveBorderStyle" TargetType="{x:Type Border}">
</Style>
</Window.Resources>
アクティブ時のボーダー色をBlueVioletで表示する。
<Setter Property="BorderBrush" Value="BlueViolet" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderThickness" Value="1" />
非アクティブ時のボーダー色をWindowのBackgroundと同一にする。
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=BaseWindow, Path=IsActive}" Value="false">
<Setter Property="BorderBrush" Value="{Binding ElementName=BaseWindow, Path=Background}" />
</DataTrigger>
</Style.Triggers>
<DataTrigger Binding="{Binding ElementName=BaseWindow, Path=IsActive}" Value="false">
<Setter Property="BorderBrush" Value="{Binding ElementName=BaseWindow, Path=Background}" />
</DataTrigger>
</Style.Triggers>
最終的に下記のようになります。
<Window.Resources>
<Style x:Key="ActiveBorderStyle" TargetType="{x:Type Border}">
<Setter Property="BorderBrush" Value="BlueViolet" />
<Setter Property="BorderThickness" Value="1" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=BaseWindow, Path=IsActive}" Value="false">
<Setter Property="BorderBrush" Value="{Binding ElementName=BaseWindow, Path=Background}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Border Style="{StaticResource ActiveBorderStyle}"/>
<Grid>
・・・・
</Grid>
</Border>
<Style x:Key="ActiveBorderStyle" TargetType="{x:Type Border}">
<Setter Property="BorderBrush" Value="BlueViolet" />
<Setter Property="BorderThickness" Value="1" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=BaseWindow, Path=IsActive}" Value="false">
<Setter Property="BorderBrush" Value="{Binding ElementName=BaseWindow, Path=Background}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Border Style="{StaticResource ActiveBorderStyle}"/>
<Grid>
・・・・
</Grid>
</Border>
実行例