あなたはCellTemplateと値コンバータでこれを達成することができます:あなたはしかしGetGuestImage()メソッドに直接結合することはできません
<ListView x:Name="listview" xmlns:local="clr-namespace:WpfApplication1">
<ListView.Resources>
<local:ImageConverter x:Key="ImageConverter" />
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Image">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path=., Converter={StaticResource ImageConverter}}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Vorname}" Header="Vorname" />
<GridViewColumn DisplayMemberBinding="{Binding Nachname}" Header="Nachname" />
<GridViewColumn DisplayMemberBinding="{Binding Postleitzahl}" Header="PLZ" />
<GridViewColumn DisplayMemberBinding="{Binding Ort}" Header="Ort" />
<GridViewColumn DisplayMemberBinding="{Binding Land}" Header="Land" />
</GridView>
</ListView.View>
</ListView>
namespace WpfApplication1
{
public class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
dynamic dataObject = value;
if (dataObject != null)
{
string path = dataObject.GetGuestImage();
if(System.IO.File.Exists(path))
return new Uri(dataObject.GetGuestImage(), UriKind.RelativeOrAbsolute);
}
return new Uri(@"c:\yourplaceholderimage.png", UriKind.RelativeOrAbsolute);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
。別の考え方は、データオブジェクトクラスのUriプロパティにパスを公開し、このオブジェクトにバインドすることです。
<GridViewColumn Header="Image">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding GuestImage}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
出典
2017-02-03 11:12:01
mm8
おそらくこれが役立ちます。http:// stackov erflow.com/questions/20530010/custom-listviewitem-in-listview –