WPF - Hide/Show 基于 Expander IsExpanded 的图像

WPF - Hide/Show Image Based on 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>

您的 DataTrigger 需要一个值,例如

Value="True"

根据documentation,默认值为null

你的DataTrigger一定是这样的

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

全部Image属性

<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>