我可以控制绑定图像的位置。我的视图模型中的代码如下所示:
public List<IDocument> SelectedEventPhotoList
{
get { return _selectedEventPhotoList; }
set
{
if (Equals(value, _selectedEventPhotoList))
return;
_selectedEventPhotoList = value;
RaisePropertyChanged(() => SelectedEventPhotoList);
}
}
public IDocument SelectedEventPhoto
{
get { return _selectedEventPhoto; }
set
{
if (Equals(value, _selectedEventPhoto))
return;
_selectedEventPhoto = value;
RaisePropertyChanged(() => SelectedEventPhoto);
}
}
绑定看起来如下:
<ListView Grid.Row="0"
ItemsSource="{Binding SelectedEventPhotoList, Converter={StaticResource PathToFileConverter}}"
SelectedItem="{Binding SelectedEventPhoto}"
如您所见,我有一个要绑定到ItemsSource的IDocument类型列表,而SelectedItem是IDocument类型。但是,图像的Source属性是string类型,我使用PathToFileConverter值转换器将IDocument类型转换为字符串。
问题实际上是在使用转换器后,SelectedItem为空。
如何实现SelectedItem保持IDocument类型,这不是null?
答案 0 :(得分:0)
您应该将转换器应用于Source
的{{1}}属性绑定,而不是Image
的{{1}}
如果ItemsSource
属性绑定或设置为{{ListView
,则绑定到SelectedItem
的{{1}}属性的属性的类型应始终为ListView
1}}。
答案 1 :(得分:0)
您应该从ItemSource绑定中删除转换器,并添加DisplayMemberPath =&#34; PathOfFileProperty&#34;,其中&#39; PathOfFileProperty&#39;是IDocument上的字符串属性,表示文件路径