wpf绑定到图像,不显示

时间:2014-01-08 04:35:07

标签: c# .net wpf binding

我正在使用WPF ListView来显示一堆内容。我定义了许多列,其中每个单元格中的显示值是底层对象中的属性。我想要做的是在某些属性为真的情况下在某些列中显示图像,并且我遇到了问题绑定。我想要的是,如果用户是管理员,我们会显示明星或类似的东西。

我尝试了以下内容。

    <ListView Name="MyListview" Grid.Row="3">
        <ListView.View>
            <GridView>                    
                <GridViewColumn DisplayMemberBinding="{Binding Pix}" Header="Pix"></GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>

背后的代码

    private static BitmapImage s_brandImage = new BitmapImage(new Uri(@"C:\pix.png", UriKind.Relative));

    public BitmapImage Pix
    {
        get
        {
            return s_brandImage;

            //Image i = new Image();
            //i.Source = s_brandImage;
            //return i;
        }
    }

当我运行应用程序时,我得到的是ListView,它只打印我放在BitmapImage对象中的URI,但我没有得到图片。

我在裤子的座位上飞行所以任何建议都值得赞赏。 MJ

1 个答案:

答案 0 :(得分:1)

更改ListView中托管的GridView,如下所示。

 <GridView>
     <GridViewColumn Header="Pix">
         <GridViewColumn.CellTemplate>
              <DataTemplate>
                 <Image Source="{Binding Pix}"/>
              </DataTemplate>
         </GridViewColumn.CellTemplate>
      </GridViewColumn>                   
 </GridView>

同样更改下面给出的Uri对象的Uri类型。

private static BitmapImage s_brandImage = new BitmapImage(new Uri(@"C:\pix.png", UriKind.RelativeOrAbsolute));