gpt4 book ai didi

图像源上的 wpf 数据触发器

转载 作者:行者123 更新时间:2023-12-03 22:54:54 26 4
gpt4 key购买 nike

假设绑定(bind)是正确的并且图像文件在它们应该在的位置,任何人都可以发现为什么当触发器评估为真时下面的 xaml 中的图像不会改变?

干杯,
绿柱石

<Image Source="..\..\Images\OK.png" Grid.Column="2" Stretch="None">
<Image.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding TimeSheet, Converter={StaticResource overQuotaConv}}" Value="True">
<Setter Property="Image.Source" Value="..\..\Images\Error.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>

最佳答案

尝试以下...

  • 在样式
  • 上设置 TargetType="{x:Type Image}"
  • 将 setter 的属性更改为 Property="Source"

  • 当前定义属性路径的方式是在 Image 上查找名为 Image 的属性(不存在),然后在名为 Source 的内容中查找。

    此外,从顶部的 Image 标记中删除 Source 属性。这将覆盖样式应用的任何内容。您可以将其移动到另一个 DataTrigger 或者您可以将其放入普通的 setter 中,如下所示:
    <Image Grid.Column="2" Stretch="None">
    <Image.Style>
    <Style TargetType="{x:Type Image}">
    <Setter Property="Source" Value="..\..\Images\OK.png" />
    <Style.Triggers>
    <DataTrigger Value="True" Binding="{Binding TimeSheet, Converter={StaticResource overQuotaConv}}">
    <Setter Property="Source" Value="..\..\Images\Error.png"/>
    </DataTrigger>
    </Style.Triggers>
    </Style>
    </Image.Style>
    </Image>

    关于图像源上的 wpf 数据触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2414358/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com