434 Stimmen

Wie zu binden inverse boolesche Eigenschaften in WPF?

Was ich habe, ist ein Objekt, das eine IsReadOnly Eigentum. Wenn diese Eigenschaft wahr ist, möchte ich die IsEnabled Eigenschaft einer Schaltfläche (z. B.) auf false setzen.

Ich würde gerne glauben, dass ich das so einfach tun kann wie IsEnabled="{Binding Path=!IsReadOnly}" aber das funktioniert nicht mit WPF.

Muss ich mich durch alle Stileinstellungen arbeiten? Scheint einfach zu wortreich für etwas so einfach wie die Einstellung ein bool auf die Inverse eines anderen bool.

<Button.Style>
    <Style TargetType="{x:Type Button}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=IsReadOnly}" Value="True">
                <Setter Property="IsEnabled" Value="False" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Path=IsReadOnly}" Value="False">
                <Setter Property="IsEnabled" Value="True" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Button.Style>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X