0

我將從IsolatedStorage檢索到的圖像集合綁定到我的視圖,但我在更改圖像顯示順序時遇到問題。有一個時間戳與每個圖像相關聯,我希望能夠按升序或降序排序。截至目前綁定工程,但當我試圖改變排序順序綁定到我的列表框之前,沒有任何顯示在用戶界面上。如何對從IsolatedStorage綁定的ObservableCollection進行排序

MainPage.xaml中

<ListBox x:Name="Recent" ItemsSource="{Binding Pictures}" Margin="8" 
        SelectionChanged="recent_SelectionChanged" toolkit:TiltEffect.IsTiltEnabled="True" 
        ItemContainerStyle="{StaticResource MyStyle}"> 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 
         <toolkit:WrapPanel Orientation="Horizontal" /> 
        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 
      </ListBox> 

MainPage.xaml.cs中

// Constructor 
    public MainPage() 
    { 
     InitializeComponent(); 

     //This is working, but is not sorted 
     //DataContext = PictureRepository.Instance; 

     //Attempt at sorting before binding 
     //from SettingsPage, if AscendingSort = True then sort ascending 
     if (Settings.AscendingSort.Value) 
     { 
      //Give no errors, but does not display on UI 
      DataContext = PictureRepository.Instance.Pictures.OrderBy(s => s.DateTaken);     
     } 
     else 
     { 
      DataContext = PictureRepository.Instance.Pictures.OrderByDescending(s => s.DateTaken); 
     } 
    } 

不知道確切的問題是什麼嗎? 請注意,在調試時,我可以看到PictureRepository.Instance包含要在視圖中顯示的圖像。

+0

可能重複(http://stackoverflow.com/questions/17159869/how-to-sort-a-listbox-按照日期排列) –

+0

這與你已經提出的問題有何不同? –

回答

0

試試這個,

listItems = new ObservableCollection<YourType>(listItems.OrderBy(x => x.DateTaken)); 
的[如何按日期排序圖像的列表框]
+0

我想知道如何完全應用到我的解決方案。在'PictureRepository.Instance'內存在名爲'Pictures'的ObservableCollection,其中填充了IsolatedStorage中的圖像。所以我的解決方案看起來像'listItems = new ObservableCollection (PictureRepository.Instance.Pictures.OrderBy(x => x.DateTaken));'然後設置'DataContext = listItems;''? – Matthew

+0

如果圖片是你的ObservableCollection類型,那麼YES,所以你的代碼應該是'PictureRepository.Instance.Pictures = new ObservableCollection (PictureRepository.Instance.Pictures.OrderBy(x => x.DateTaken));'。 –

+0

我沒有使用你的解決方案,但是我不得不將listItems ObservablecCollection綁定到我的列表框的ItemsSource。 – Matthew

相關問題