gpt4 book ai didi

wpf - 根据鼠标悬停时的标签值更改图片

转载 作者:行者123 更新时间:2023-12-05 02:24:14 25 4
gpt4 key购买 nike

我需要在 Image 的鼠标悬停时显示不同的图像。
目前我正在这样做

 <Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<!-- Hover image -->
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Source" Value="C:\Users\Images\Hi.png"/>
</Trigger>
</Style.Triggers>

它工作正常。但是在显示不同的图片之前,我需要检查 Imagetag 属性。
也就是说,如果 Tag 值为 1 我需要显示 Hi1.png 如果它是 2 我需要显示 hi2.png
我知道这可以通过处理图像的 MouseEnterMouseLeave 事件通过代码隐藏来实现。
但我想用 XAML 来做。有什么线索吗?

最佳答案

您可以使用 MultiDataTrigger .

由于 DataTrigger 对关联的 DataContext/Binding 进行操作,因此您需要使用 Image 控件。

    <Style.Triggers> 
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=IsMouseOver}" Value="True"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Tag}" Value="1"/>

</MultiDataTrigger.Conditions>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Source" Value="C:\Users\Images\Hi1.png"/>
</MultiDataTrigger>

<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=IsMouseOver}" Value="True"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Tag}" Value="2"/>

</MultiDataTrigger.Conditions>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Source" Value="C:\Users\Images\Hi2.png"/>
</MultiDataTrigger>
</Style.Triggers>

关于wpf - 根据鼠标悬停时的标签值更改图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119193/

25 4 0