wpf datatrigger on an image source

给你一囗甜甜゛ 提交于 2019-11-29 05:58:23

Try the following...

  • Set the TargetType="{x:Type Image}" on the Style
  • Change the setter's Property to Property="Source"

The way your property path is currently defined, it's looking for a property on Image called Image (which doesn't exist) then within that something called Source.

Additionally, remove the Source attribute from the Image tag at the top. This will override whatever is applied by the style. You can move it to another DataTrigger or you can put it in a normal setter like so:

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

Your timing is interesting. I am just about to post something on my blog about a control that does something very similar to this but in a much more concise syntax.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!