2016-12-12 15 views
1

Я хотел бы показать изображение, если расширитель скроется и спрячет его при его расширении. Я попробовал следующее, но это не сработает. Есть ли способ сделать это без использования конвертера?WPF - Скрыть/Показать изображение на основе Expander IsExpanded

<Image x:Name="fgImage" Source="Resources/Images/MissingImage.png" Margin="0,96,258,-75" Height="110" VerticalAlignment="Top" HorizontalAlignment="Right" Width="110"> 
<Image.Style> 
    <Style TargetType="Image"> 
    <Setter Property="Visibility" Value="Visible"/> 
    <Style.Triggers> 
    <DataTrigger Binding="{Binding ElementName=orderDetailsExpander, Path=IsExpanded}"> 
     <Setter Property="Visibility" Value="Collapsed"/> 
    </DataTrigger> 
    </Style.Triggers> 
    </Style> 
    </Image.Style> 
</Image> 

ответ

1

ваш DataTrigger должен быть как то

<DataTrigger Binding="{Binding ElementName=orderDetailsExpander, Path=IsExpanded}" Value="True"> 

все Image property

<Image x:Name="fgImage" Source="Resources/Images/MissingImage.png" Margin="0,96,258,-75" Height="110" VerticalAlignment="Top" HorizontalAlignment="Right" Width="110"> 
<Image.Style> 
    <Style TargetType="Image"> 
    <Setter Property="Visibility" Value="Visible"/> 
    <Style.Triggers> 
    <DataTrigger Binding="{Binding ElementName=orderDetailsExpander, Path=IsExpanded}" Value="True"> 
     <Setter Property="Visibility" Value="Collapsed"/> 
    </DataTrigger> 
    </Style.Triggers> 
    </Style> 
    </Image.Style> 
</Image> 
+0

Я знал, что пропустил что-то глупое. Большое спасибо! @gmetax – Steven

1

Вы DataTrigger нужно значение, например

Value="True" 

Согласно documentation, значение по умолчанию null