Frage

Ich scheine eine harte Zeit heute zu haben. Alles, was ich tun möchte, ist ein TextBox sichtbaren basierend auf einem Bool Wert Databound in seine gehosteten Fenstern versteckt machen.

Was habe ich einfach nicht kompilieren und ich verstehe nicht, warum. Bitte helfen.

<TextBlock Grid.Column="2" Text="This order will be sent to accounting for approval" 
           Foreground="Red" VerticalAlignment="Center" FontWeight="Bold" Padding="5">
    <TextBlock.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=AllowedToSubmit}" Value="True">
                    <Setter Property="Visibility" Value="Hidden" /> 
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>
War es hilfreich?

Lösung

Sie müssen die Style.TargetType setzen um für sie die Visibility Eigenschaft zu erkennen:

<TextBlock Grid.Column="2" VerticalAlignment="Center" FontWeight="Bold" Foreground="Red" Padding="5" Text="This order will be sent to accounting for approval">
    <TextBlock.Style>
        <Style TargetType="{x:Type TextBlock}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=AllowedToSubmit}" Value="True">
                    <Setter Property="Visibility" Value="Hidden"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>

Ihr Bindungspfad muss AllowedToSubmit wahrscheinlich ElementName auf den Namen des Window gesetzt haben, wie gut.

Andere Tipps

Eine weitere Option ist TextBlock.Visibility direkt an der Immobilie zu binden:

<Window>
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BoolToVisibility" />
    </Window.Resources>
    <TextBlock Visibility="{Binding Path=AllowedToSubmit, Converter={StaticResource BoolToVisibility}}" />
</Window>

Wenn Sie es wollen, wie in Ihrem Beispiel arbeiten, wo wahrt die TextBlock verbirgt, dann können Sie Ihre eigenen Konverter schreiben Gegenteil von dem eingebauten in BooleanToVisibilityConverter zu konvertieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top