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。如果您将建议作为常规答案编写,我会将其标记为有用。谢谢