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>