WPF:应用值转换器后如何获取SelectedItem?
我可以控制绑定图像的位置。“我的视图”模型中的代码如下所示:WPF:应用值转换器后如何获取SelectedItem?,wpf,binding,ivalueconverter,Wpf,Binding,Ivalueconverter,我可以控制绑定图像的位置。“我的视图”模型中的代码如下所示: public List<IDocument> SelectedEventPhotoList { get { return _selectedEventPhotoList; } set { if (Equals(value, _selectedEventPhotoList)) return; _selectedEventPhotoList =
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}"
public List SelectedEventPhotoList
{
获取{return\u selectedEventPhotoList;}
设置
{
如果(等于(值,\ u选择EventPhotoList))
返回;
_selectedEventPhotoList=值;
RaiseProperty已更改(()=>SelectedEventPhotoList);
}
}
公共I文档已选择Eventphoto
{
获取{return\u selectedEventPhoto;}
设置
{
如果(等于(值,_selectedEventPhoto))
返回;
_选择Eventphoto=值;
RaisePropertyChanged(()=>SelectedEventPhoto);
}
}
绑定如下所示:
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}"
您应该将转换器应用于图像的源
属性绑定,而不是列表视图的项源
绑定到列表视图的SelectedItem
属性的属性类型应始终为T
,如果ItemsSource
属性被绑定或设置为IEnumerable
,则应从ItemSource绑定中删除转换器,并添加DisplayMemberPath=“PathOfFileProperty”,哪个“PathOfFileProperty”是IDocument上的字符串属性,指示文件路径为什么要将ItemsSource转换为其他类型?这毫无意义,因为IDocument不是图像源属性的正确类型。另一方面,我需要SelectedItem为IDocument类型。您应该将转换器应用于源属性绑定,而不是ListView的ItemsSource。如果您将建议作为常规答案编写,我会将其标记为有用。谢谢