Johan Byrén
Johan Byrén

Reputation: 918

Hide Textblock if <Run> is empty WPF

I have a TextBlock that i want to hide if property Commission.Vehicle.Owner.Name is empty. The code look like this. Of course this doesn't work, the TextBlock property Text will always be empty..

<Style x:Key="CollapsableTextBlock" TargetType="TextBlock">
    <Style.Triggers>
        <Trigger Property="Text" Value="">
           <Setter Property="Visibility" Value="Collapsed"/>
        </Trigger>
    </Style.Triggers>
</Style>

<TextBlock Style="{DynamicResource CollapsableTextBlock}">
    <Run Text="Owner: "/>
    <Run Text="{Binding Commission.Vehicle.Owner.Name}"/>
</TextBlock>

Anyone with an idea? Thanks!

Upvotes: 0

Views: 1701

Answers (1)

Clemens
Clemens

Reputation: 128180

A DataTrigger should work:

<Style x:Key="CollapsableTextBlock" TargetType="TextBlock">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Commission.Vehicle.Owner.Name}" Value="">
            <Setter Property="Visibility" Value="Collapsed"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

Upvotes: 6

Related Questions