C# [WPF] Zugriff auf DependencyProperty von einem MultiDataTrigger

palaber

Captain
Dabei seit
Juni 2006
Beiträge
3.831
Hi Leute,

ich habe das Problem, dass ich von einem Trigger auf einen MultiDataTrigger umstellen muss, da ich nun zusätzlich auf eine Property aus dem Datacontext binden muss.

Bisher war mein Trigger so aufgebaut:
XML:
<Setter Property="Template">
    <Setter.Value>
        <Grid>...</Grid>
        <ControlTemplate TargetType="{x:Type RadioButton}">
            <ControlTemplate.Triggers>
                <Trigger Property="behaviors:ExtendedFrameworkElementBehavior.IsAuthentificationNeeded"
                         Value="True">
                    <Setter TargetName="authentification"
                            Property="Visibility"
                            Value="Visible" />
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>
Allerdings weiß ich jetzt nicht wie ich auf die selbe "Ebene" des Triggers gelange...
habe schon einiges versucht, bekomme aber immer BindingExpressions. Zuletzt so:
XML:
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type RadioButton}">
            <Grid x:Name="rb">...</Grid>
            <ControlTemplate.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=behaviors:ExtendedFrameworkElementBehavior.IsAuthentificationNeeded}"
                        Value="True" />
                        <Condition Binding="{Binding ShowLockedMenuButtons}"
                        Value="False" />
                    </MultiDataTrigger.Conditions>
                    <MultiDataTrigger.Setters>
                        <Setter TargetName="rb"
                        Property="Visibility"
                        Value="Collapsed" />
                    </MultiDataTrigger.Setters>
                </MultiDataTrigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>
Jetzt fällt mir leider nichts mehr ein, daher Danke für die Hilfe!
 

palaber

Captain
Ersteller dieses Themas
Dabei seit
Juni 2006
Beiträge
3.831
Hab die Lösung gefunden... ich muss um den Path Klammern setzen:
XML:
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=(behaviors:ExtendedFrameworkElementBehavior.IsAuthentificationNeeded)}"
           Value="True" />
Warum weiß ich auch nicht, aber jetzt gehts auf jeden Fall. 🤷‍♂️
 
Top