2017-03-23 49 views
0

我有StorageFile元素列表視圖(因爲每個元素都代表.MP3文件)的ListView的SelectionChanged和StorageFiles

<ListView x:Name="songList" HorizontalAlignment="Left" Height="680" Background="{Binding }" ItemsSource="{Binding ListOfStorageFiles , Mode=TwoWay , UpdateSourceTrigger=PropertyChanged}" Margin="986,120,0,-80" VerticalAlignment="Top" Width="294"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding DisplayName}"/> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

到目前爲止我用folderPicker從用戶獲取特定的文件夾和我綁定的所有文件到listView作爲storageFiles的列表。文件顯示並能夠選擇它們,但是我必須在listView SelectionChanged上更改mediaElement Source。不幸的是,當我將SelectionChanged添加到listView時,編譯器告訴我 - Object reference not set to an instance of an object。任何人都知道是什麼造成這種行爲?此外,這是從列表中播放媒體文件的正確方法(將storageFile綁定到列表)。

編輯:我可能必須使用EventName =「SelectionChanged」Interaction.Behaviors?

+0

你能列表視圖的'SelectedItem'綁定到表示當前在VM屬性文件? – Lindsay

回答

1

我結束了

<interactivity:Interaction.Behaviors> 
      <core:EventTriggerBehavior EventName="SelectionChanged"> 
       <core:InvokeCommandAction Command="{Binding OnSelectedSongFromList }" CommandParameter="{Binding ElementName=songList, Mode=TwoWay}"></core:InvokeCommandAction> 

         </core:EventTriggerBehavior> 
      </interactivity:Interaction.Behaviors> 

然後在VM我使用列表:

ListOfMedia.MoveTo((uint)asf.SelectedIndex); 
相關問題