0

我正在将我从 IsolatedStorage 检索到的图像集合绑定到我的视图,但是我在更改图像显示顺序时遇到了问题。每个图像都有一个时间戳,我希望能够按升序或降序排序。到目前为止,绑定有效,但是当我尝试在绑定到我的列表框之前更改排序顺序时,UI 上没有显示任何内容。

主页.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 包含要在视图中显示的图像。

4

1 回答 1

0

尝试这个,

    listItems = new ObservableCollection<YourType>(listItems.OrderBy(x => x.DateTaken));
于 2013-07-03T05:25:26.577 回答