Quelle est la bonne façon de déclencher sur plusieurs conditions dans un style WPF

Mon application WPF a un DataGrid de contrôle. J'ai un style personnalisé par défaut pour le DataGridRow classe qui fonctionne bien. Toutefois, pour ce DataGrid sur un écran, j'ai besoin d'un autre style personnalisé.

Les Éléments de chaque ligne ont un bool bien que, lorsqu'il est défini, je veux afficher cette ligne avec un autre premier plan et la couleur d'arrière-plan. Toutefois, lorsque la ligne est sélectionnée ET lorsque cette propriété est définie, je veux donner un avant-plan et arrière-plan de couleur pour indiquer qu'il est sélectionné ET que la propriété est définie sur true.

Voici ce que j'ai essayé:

<Style TargetType="DataGridRow" x:Key="CameraStyle">
    <Setter Property="Foreground" Value="{DynamicResource TextForeground}" />
    <Setter Property="Background" Value="{DynamicResource DataBackground}" />
    <Style.Triggers>
        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Property="IsSelected" Value="False" />
                <Condition Binding="{Binding Path=IsInLiveMode}" Value="True" />
            </MultiDataTrigger.Conditions>
            <Setter Property="Foreground" Value="Red" />
            <Setter Property="Background" Value="Yellow" />
        </MultiDataTrigger>
        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Property="IsSelected" Value="True" />
                <Condition Binding="{Binding Path=IsInLiveMode}" Value="True" />
            </MultiDataTrigger.Conditions>
            <Setter Property="Background"  Value="DarkOrange" />
            <Setter Property="BorderBrush" Value="{DynamicResource DataBorder}" />
            <Setter Property="Foreground"  Value="DarkRed" />
        </MultiDataTrigger>
    </Style.Triggers>
</Style>

Cela me donne une "Liaison doit être non null," erreur, je pense que se passe car il n'est pas Binding bien sur la première condition dans le MultiDataTrigger.

Quelle est la façon correcte d'écrire ceci dans le code XAML?

EDIT:

Après avoir essayé nemesv & Rachel, en réponse, le code compile et s'exécute. Toutefois, les couleurs que j'ai choisis pour le IsSelected = true et IsInLiveMode = true cas ne sont pas montrés. Voici ce que j'ai maintenant:

    <Style TargetType="DataGridRow" x:Key="CameraStyle">
        <Setter Property="Background" Value="{DynamicResource DataBackground}" />
        <Setter Property="Foreground" Value="{DynamicResource TextForeground}" />
        <Style.Triggers>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Self}}" Value="False" />
                    <Condition Binding="{Binding Path=IsInLiveMode}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="Yellow" />
                <Setter Property="Foreground" Value="Red" />
            </MultiDataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Self}}" Value="True" />
                    <Condition Binding="{Binding Path=IsInLiveMode}" Value="False" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background"  Value="{DynamicResource DataBackgroundSelected}" />
                <Setter Property="BorderBrush" Value="{DynamicResource DataBorder}" />
                <Setter Property="Foreground"  Value="{DynamicResource DataForegroundSelected}" />
            </MultiDataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Self}}" Value="True" />
                    <Condition Binding="{Binding Path=IsInLiveMode}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background"  Value="DarkOrange" />
                <Setter Property="BorderBrush" Value="{DynamicResource DataBorder}" />
                <Setter Property="Foreground"  Value="DarkRed" />
            </MultiDataTrigger>
        </Style.Triggers>
    </Style>

Toutes les idées sur le pourquoi de l'affaire en question n'est pas de travail?

source d'informationauteur Tony Vitabile