代码之家  ›  专栏  ›  技术社区  ›  Jesse Hallam

为什么这个触发器不开火?

  •  2
  • Jesse Hallam  · 技术社区  · 15 年前
    <Image Source="Data\Images\close_nohover.bmp">
        <Image.Style>
            <Style TargetType="{x:Type Image}">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Source" Value="Data\Images\close_hover.bmp" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   Fredrik Hedblad    15 年前

    由于触发器更改源属性,因此必须在样式中设置源,而不是在图像上显式设置。这样地

    <Image>
        <Image.Style>
            <Style TargetType="{x:Type Image}">
                <Setter Property="Source" Value="Data\Images\close_nohover.bmp"/>
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Source" Value="Data\Images\close_hover.bmp" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>