WPF使用DataTrigger设置Image.Source

10

我试图为一个Image元素定义一个DataTrigger,以便它显示连接/断开连接的图像。但是我一直收到一个Invalid PropertyDescriptor消息。有什么想法吗?

<Image>
    <Image.Style>
      <Style>
        <Style.Triggers>
          <DataTrigger Binding="{Binding Source={x:Static my:Server.Instance}, Path=Connected, Mode=OneWay}"
                       Value="True">
            <Setter Property="Source"
                    Value="serverconnected.png"/>
          </DataTrigger>

        </Style.Triggers>
      </Style>
    </Image.Style>
</Image>
2个回答

8

我刚把Property="Source"改成了Property="Image.Source",现在它可以工作了。谢谢大家。


2

将BitmapImage添加到您的资源中,如下所示:

<BitmapImage x:Key="serverConnected" UriSource="serverconnected.png" />

并将您现有的代码更改为引用它:

<Image>
<Image.Style>
  <Style>
    <Style.Triggers>
      <DataTrigger Binding="{Binding Source={x:Static my:Server.Instance}, Path=Connected, Mode=OneWay}"
                   Value="True">
        <Setter Property="Source"
                Value="{StaticResource serverConnected}"/>
      </DataTrigger>

    </Style.Triggers>
  </Style>
</Image.Style>


这是一个不错的建议,但并不是解决问题的方法。对于快速回复给予+1! - Steve

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接