2017-10-10 22 views
0

画像はリストビューに正しくロードされますが、リストビューをクリックしてSelectedItemを変更すると画像が消えます。私は要素を見て、それらですべてを行うことができますが、それらは単純な行であり、イメージ自体は並んでいません。 これは、リストビュー画像はアクション後にWPFのListViewから消えます

<ListView Name="testLB" ItemsSource="{Binding Images}" SelectedItem="{Binding SelectedImage}" HorizontalAlignment="Left" Height="393" Margin="627,28,0,0" VerticalAlignment="Top" Width="244" SelectionChanged="testLB_SelectionChanged"/> 

ためのXAMLであり、これは私のViewModelの一部です。

public ObservableCollection<Image> Images { get; private set; } 
    public Image SelectedImage { get => selectedImage; 
     set { 
      this.selectedImage = value; 
      this.OnPropertyChanged("SelectedImage"); 
     } } 

    private Image selectedImage; 
+0

を、あなたは、UI要素 'イメージを持っていない理由あなたのビューモデルでは?あなたは完全で検証可能な例を提供していませんが、Imageの不正使用が問題の大きな部分であると思います。 – ASh

答えて

0

ImageのUIElementのサブクラスであるため、ビューモデルの項目タイプとして使用されるべきではありません。代わりに

使用ImageSource(とあなたのコレクションに例えばBitmapImagesまたはBitmapFramesを追加):

public ObservableCollection<ImageSource> Images { get; private set; } 

public ImageSource SelectedImage { ... } 

次に、あなたのListViewのItemTemplateに作るイメージ要素含まれています

<ListView ItemsSource="{Binding Images}" SelectedItem="{Binding SelectedImage}" ...> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Image Source="{Binding}"/> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 
+0

ありがとうございました!これがこのような問題を引き起こすかもしれないと推測したことはありません。それは今完璧に動作します。 –

関連する問題