J'ai le contrôle où je lie les images. Le code dans mon modèle de vue se présente comme suit:WPF: Comment obtenir SelectedItem après avoir appliqué le convertisseur de valeur?
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);
}
}
Les regards de liaison de la manière suivante:
<ListView Grid.Row="0"
ItemsSource="{Binding SelectedEventPhotoList, Converter={StaticResource PathToFileConverter}}"
SelectedItem="{Binding SelectedEventPhoto}"
Comme vous pouvez le voir, j'ai une liste des types IDocument de se lier à ItemsSource et SelectedItem est de IDocument type. Mais, les images ont une propriété Source qui est de type string et j'ai utilisé le convertisseur de valeur PathToFileConverter pour convertir les types d'IDocument en chaînes.
Le problème est en fait qu'après avoir utilisé le convertisseur, SelectedItem est null.
Comment puis-je atteindre le SelectedItem conserve le type IDocument, qui n'est pas null?
Pourquoi êtes-vous en train de convertir le ItemsSource à un autre type? Cela n'a aucun sens. – mm8
Parce que IDocument n'est pas correct, tapez la propriété Source de l'image. D'un autre côté, j'ai besoin que SelectedItem soit un type IDocument. – tesicg
Vous devez appliquer le convertisseur à la liaison de la propriété Source puis pas à la ItemsSource de ListView. – mm8