2017-02-27 56 views
-1

我有控制我綁定圖像的位置。在我看來模型的代碼看起來如下:WPF:如何在應用價值轉換器後獲得SelectedItem?

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}" 

正如你可以看到我有的IDocument類型的列表綁定到的ItemsSource和的SelectedItem是的IDocument的類型。但是,圖像具有字符串類型的Source屬性,並且我使用PathToFileConverter值轉換器將IDocument類型轉換爲字符串。

這個問題實際上是在使用轉換器後,SelectedItem爲空。

我該如何實現SelectedItem保持IDocument類型,它不是null?

+0

你爲什麼要轉換的ItemsSource爲另一種類型?這沒有意義。 – mm8

+0

由於IDocument對於圖像的Source屬性不是正確的類型。另一方面,我需要SelectedItem是IDocument類型。 – tesicg

+1

您應該將轉換器應用於Source屬性綁定,而不是ListView的ItemsSource。 – mm8

回答

0

你應該轉換器適用於不ImageSource屬性綁定和的ListView

類型綁定到一個ListViewSelectedItem屬性的屬性的ItemsSource應始終T如果ItemsSource財產被綁定或設置爲IEnumerable<T>

0

您應該刪除從的ItemSource綁定的轉換器,並添加的DisplayMemberPath =「PathOfFileProperty」,其中「PathOfFileProperty」是的IDocument字符串屬性,它指示文件路徑