WPF Image控件如何根据数据状态绑定不同的图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF Image控件如何根据数据状态绑定不同的图片相关的知识,希望对你有一定的参考价值。

参考技术A 直接设置Image的Source就行了追问

直接设置 Source只有一个地址啊,要如何在不同数据之间切换不同的图片?小白第一次用,大神能解释的详细点吗?

追答

你是要加载项目中的图片资源,还是从外部读取一张图片显示出来?

追问

for example:

    List有四列,第一列”状态“由图片显示,从数据库读取10条数据

    7条状态为已读,标记为“图片一”

    3条状态为未读,标记为“图片二”


追答

哦~ 如果仅仅是这种状态显示图标的话(一般就两三个状态的), 你创建多个对象,分别显示各个图标, 然后根据状态来设置他Visibility属性就行了, 这样最快
如果是复杂一些的, 比如人员数据中显示这个人员的头像, 这样的就需要使用设置Source的方法了, 有两种, 一种是使用读取到的二进制来显示, 另一种是使用程序中的图片资源

本回答被提问者采纳

WPF中一个控件绑定另一个控件的属性

原文:WPF中一个控件绑定另一个控件的属性

如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应:

绑定的时候通过ElementName来指定控件

<Grid Margin="50,130">
  <Grid.ColumnDefinitions>
    <ColumnDefinition/>
    <ColumnDefinition Width="40"/>
  </Grid.ColumnDefinitions>
  <Button Content="asdfasdfadsfa" Background="Aquamarine">
    <Button.Style>
      <Style TargetType="{x:Type Button}">
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
              <Border x:Name="bd" BorderBrush="Black" Background="{TemplateBinding Background}" BorderThickness="1" CornerRadius="6,0,0,6" >
                <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{TemplateBinding Content}"/>
            </Border>
          <ControlTemplate.Triggers>
            <DataTrigger Binding="{Binding ElementName=btn2,Path=Visibility}" Value="Collapsed">
              <Setter TargetName="bd" Property="CornerRadius" Value="6,6,6,6"/>
            </DataTrigger>
          </ControlTemplate.Triggers>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>
</Button.Style>


  </Button>
    <Button  x:Name="btn2" Grid.Column="2" Command="{Binding MainCommand}" Background="Beige">
      <Button.Style>
        <Style TargetType="{x:Type Button}">
          <Setter Property="Template">
            <Setter.Value>
              <ControlTemplate TargetType="{x:Type Button}">
                <Border BorderBrush="Black" Background="{TemplateBinding Background}" BorderThickness="0,1,1,1" CornerRadius="0,6,6,0" >

                  <Path Data="M 0,0 L 20,0 L 10,10 Z" Fill="Black" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Border>
              </ControlTemplate>
            </Setter.Value>
          </Setter>
        </Style>
      </Button.Style>
    </Button>
</Grid>

以上是关于WPF Image控件如何根据数据状态绑定不同的图片的主要内容,如果未能解决你的问题,请参考以下文章

wpf中怎么获取image上的图并转化为bitmap

如何在双向绑定的Image控件上绘制自定义标记(wpf)

WPF:设置MenuItem多种不同状态图标

WPF教程十五:数据模板的使用(重发)

急等,在wpf中怎么才能把image控件的source属性绑定到listview中的选中项

WPF 控件模板不根据依赖属性绑定值更改