c# - WP8 LongListSelector - 重新分配 ItemsSource 无效

标签 c# xaml windows-phone windows-phone-8

我正在使用新的 Windows Phone 8 LongListSelector控制,它有它的 ItemsControl分配给 List<Group<object>>这样:

    List<Group<PlacePoint>> searchResults; 

    async void doSearch()
    {
        this.searchResults = await SearchHelper.Instance.getSearchResults(txtSearchTerm.Text);
        longList.ItemsSource = this.searchResults;
    }

不幸的是,我第二次搜索时,重新设置 .ItemsSource 属性没有任何效果,控件只显示旧列表。

如何更改绑定(bind)?

最佳答案

似乎重新分配 longList.ItemsSource 没有任何效果,这是一个错误还是我不能说的设计。

但是,一个简单的解决方法是简单地使用 ObservableCollection>,然后使用这个集合而不是重新分配 ItemsSource。

示例代码:

    ObservableCollection<Group<PlacePoint>> searchResults = new ObservableCollection<Group<PlacePoint>>();


    public SearchPage()
    {
        InitializeComponent();

        longList.ItemsSource = this.searchResults;
    }

    async void doSearch()
    {
        List<Group<PlacePoint>> tempResults = await SearchHelper.Instance.getSearchResults(txtSearchTerm.Text);

        // Clear existing collection and re-add new results
        this.searchResults.Clear();
        foreach (Group<PlacePoint> grp in tempResults )
        {
            this.searchResults.Add(grp);
        }
    }

关于c# - WP8 LongListSelector - 重新分配 ItemsSource 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650788/

相关文章:

c# - 制作一个透明窗口作为绘图的 Canvas

c# - 仅带有 getter 的属性与带有 getter 和私有(private) setter 的属性

c# - 什么是 WPF WebBrowser 控件的良好替代品?

c# - 如何在 XAML (Xamarin Forms PCL) 中制作单选框

c# - 访问运营商信息 windows phone

c# - 如何在 Windows Phone 8.1 上根据系统的区域格式格式化日期/时间值?

windows-phone - 在Windows Phone 8.1上压缩并保存base64图像

C# 正则表达式组麻烦

c# - NullReferenceException 与 MSIL

c# - XamlReader.Load() 编码