【发布时间】:2017-02-27 10:31:35
【问题描述】:
我可以控制绑定图像的位置。我的视图模型中的代码如下所示:
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 属性,我使用 PathToFileConverter 值转换器将 IDocument 类型转换为字符串。
问题其实是使用转换器后,SelectedItem 为空。
如何实现SelectedItem保持不为空的IDocument类型?
【问题讨论】:
-
为什么要将 ItemsSource 转换为另一种类型?这没有任何意义。
-
因为 IDocument 不是图像 Source 属性的正确类型。另一方面,我需要 SelectedItem 为 IDocument 类型。
-
您应该将转换器应用到 Source 属性绑定,而不是 ListView 的 ItemsSource。
-
如果您将建议写为常规答案,我会将其标记为有用。谢谢。
标签: wpf binding ivalueconverter