我正在使用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
答案 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));