Whenever no selection is made from all checkboxes I want the user to see an orange border around the checkboxes. This is not a validation error, but a warning this is not the intended use. My style in XAML looks like this
<Style x:Key="WarningNoSelection" TargetType="{x:Type Border}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=AdminRole}" Value="False" />
<Condition Binding="{Binding Path=DataRole}" Value="False" />
<Condition Binding="{Binding Path=WebServer}" Value="False" />
<Condition Binding="{Binding Path=ResourceRole}" Value="False" />
<Condition Binding="{Binding Path=DataEntryRole}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderBrush" Value="Orange"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
With the debugger described here. I found that the trigger was working but stil no orange border around my checkboxes. The problem was the BorderBrush property specified in the Border Tag. After removing that I got my orange border when no checkbox was checked.
<!--
<Border BorderBrush="Silver" Style="{StaticResource WarningNoSelection}" BorderThickness="1">
-->
<Border Style="{StaticResource WarningNoSelection}" BorderThickness="1">
<StackPanel>
<CheckBox Content="Admin" IsChecked="{Binding Path=AdminRole}" />
<CheckBox Content="Data" IsChecked="{Binding Path=DataRole}" />
<CheckBox Content="WebServer" IsChecked="{Binding Path=WebServer}" />
<CheckBox Content="Resource" IsChecked="{Binding Path=ResourceRole}" />
<CheckBox Content="DataEntry" IsChecked="{Binding Path=DataEntryRole}" />
</StackPanel>
</Border>