过滤 ObservableCollection?

2024-04-11

当我将 ListBox 直接绑定到 ObservableCollection 时,我会在 ListBox 中显示实时更新,但是一旦我在混合中添加其他 LINQ 方法,我的 ListBox 就不再收到 ObservableCollection 的任何更改通知。

这里我举个例子来说明一下;

public partial class MainPage : PhoneApplicationPage
{
    ObservableCollection<String> Words = new ObservableCollection<string>();

    public MainPage()
    {
        InitializeComponent();
        listBox1.ItemsSource = Words;
    }

    private void AddButton_Click(object sender, RoutedEventArgs e)
    {
        Words.Add(DateTime.Now.ToString());
    }
}

在这里,我向一个简单的页面添加了一个按钮和一个列表框,单击按钮使新项目立即出现在列表框中。

但是,如果我从

        listBox1.ItemsSource = Words;

to

        listBox1.ItemsSource = Words.Where(w => w.Contains(":"));

ListBox 不再更新。

如何在 ObservableCollection 和 ListBox 之间添加“过滤器”,并且仍然可以更新它而无需再次设置 .ItemsSource?


尝试像这样使用 CollectionViewSource:

WordsView = new CollectionViewSource();
WordsView.Filter += Words_Filter;
WordsView.Source = Words;

// ...
void Words_Filter(object sender, FilterEventArgs e)
{
    if (e.Item != null)
        e.Accepted = ((string)e.Item).Contains(":");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

过滤 ObservableCollection? 的相关文章

随机推荐

  • cell.imageView 可以在模拟器上运行,但不能在设备上运行

    表视图单元格 imageView 在模拟器上工作 但在设备上不起作用 有些事情我已经检查过 我没有更改代码中的任何内容 图像已添加到项目中并位于同一文件夹中 我还有一张工作正常的细胞图像 先感谢您 Iphone 设备区分大小写 而模拟器则不
  • case 语句中的 count 函数

    问题陈述 如果讲师教授的课程数量少于1 则将薪水更新为30000 否则更新为35000 使用一个命令 我编写的代码导致错误 请您告诉我为什么它不起作用以及我如何改进它 先谢谢了 更新 使用Oracle SQL schema 讲师 gt id
  • 发布到 Nexus 上的私有 NPM 存储库时出现身份验证错误

    我在发布到托管在我的私人 Nexus 上的私人 npm 注册表时遇到身份验证问题 我的 Nexus 设置是npm 代理 npm 注册表 托管 npmallowRepublish false npm 快照 托管 npmallowRepubli
  • Matplotlib Axes3D.quiver 图中箭头的长度不同

    有什么方法可以改变箭袋图中各个箭头的长度吗 我使用以下方法创建了一个绘图 lines to draw list of numpy 3d vectors xs ys zs list of coordinates us vs ws list o
  • 即使应用程序处于非活动状态,CursorLoader 如何自动更新视图?

    我一直在开发一个小型待办事项列表应用程序 我使用 CursorLoader 从内容提供商更新 ToDolistview 我写了一个函数onNewItemAdded 当用户在文本视图中输入新项目并单击 Enter 时调用 参考如下 publi
  • 在同一 pandas 数据框中交换两行(连同索引)

    我正在制定固定转售价格dataset https data gov sg dataset resale flat prices 如果您有兴趣 我使用的是 2015 年 1 月以后的数据 First I group the data by u
  • 单击警报消息中的“确定”后如何关闭浏览器中的当前窗口?

    基于页面中的某些操作 我想向用户发出警报消息 即 您的简历已上传 当用户在该警报框中单击 确定 时 我想关闭该窗口 我想仅使用警报方法而不是 JavaScript 中的确认方法来执行此操作 为什么 因为警报方法给出了唯一的选项 确定 而确认
  • MOVE-TO 期望输入是代理,但得到的是 NOBODY

    我的代码所做的是设置一个内部灰色补丁区域和一个外部黑色补丁区域 海龟可以在其中繁殖 每个补丁上有一个 一旦乌龟到达灰色和黑色区域之间的边界 我就会分配可变能量 以将乌龟的繁殖延迟一定的刻度 每个刻度能量增长一个单位 当能量达到一定数量时 我
  • 无法编译使用 boost 中的 odeint 的 C++

    我使用的是 Ubuntu 12 04 并且 usr include 中已经有一些 boost fies 我做了一个 sudo apt get install libboost all dev 并且还安装了很多文件 我不想删除这个 boost
  • 多个 JSlider 相互反应始终等于 100%

    我正在尝试向 java swing 应用程序添加 3 个 JSlider 以便三个滑块的总价值总和为 100 每个滑块都是一个概率 滑块 A 是将值添加到队列的概率 滑块 B是从队列中删除某个值的概率 滑块 C 是什么都不发生的概率 示例
  • img 标签中的 SVG 未在 Firefox 中作为图像加载

    我正在尝试使用 img 标签加载我的 svg 文件 但它在 Firefox 上不起作用 Chrome 显示 svg 我正在尝试这样做http www schepers cc svg blendups embedding html http
  • matplotlib 颜色条不起作用(由于垃圾收集?)

    我有一个与此类似的绘图功能 def fct f figure ax f add subplot 111 x y mgrid 0 5 0 5 z sin x 2 y 2 ax pcolormesh x y z 当我在中定义上面的函数时ipyt
  • iPhone 应用程序:应用程序进入 App Store 之前在特定设备上进行 Beta 测试

    我在App程序门户中注册了2台设备 只有我有一台 Mac 和设备才能下载该应用程序进行测试 另一个用户没有 Mac 但他有一部 iPhone 其他用户是否可以下载该应用程序进行测试 以便我们可以在将该应用程序发布到 App Store 上供
  • 根据日期条件之间另一列中的条件计算唯一文本值

    我需要的是根据 FIAP Medium Year 列的标准计算 TITLE 中唯一值的公式 这需要首先查看工作表 M Year 列中的日期 范围为2013年3月23日 2016年6月1日 然后需要检查 I FIAP Medium 列来寻找
  • AWS Lambda 与依赖项打包

    进一步概述是在 NodeJS 和 Monorepo 基于 Lerna 的背景下进行的 我有 AWS 堆栈 其中通过 AWS CloudFormation 部署了多个 AWS Lambda 一些 lambda 很简单 单个小模块 并且可以内联
  • iPhone/iPad:如何以编程方式获取屏幕宽度?

    您好 我想知道是否有办法以编程方式获取宽度 我正在寻找足够通用的东西来容纳 iphone 3gs iphone 4 ipad 此外 宽度应根据设备是纵向还是横向 对于 ipad 进行更改 有人知道该怎么做吗 我已经找了一段时间了 谢谢 看一
  • NHibernate:无法解析继承的 id 属性

    我定义了以下实体 public class Foo Entity
  • C# 裁剪然后缩放裁剪后的图像

    我正在尝试构建此类 在 ASP NET 站点中使用 它将裁剪给定自定义宽度 高度 X Y 的图像 然后获取结果图像并将其缩放为自定义宽度 高度 并保存在服务器返回该图像的 url 我将在查询字符串中获取这些参数 如下所示 Default a
  • 在python中将标题写入excel文件

    如何循环遍历列表中的每个元素并将其作为 Excel 标题 如果有重复的问题 请告诉我 到目前为止我还没找到 row 0 col 0 j 0 title No Hue Saturation Value Lightness AComponent
  • 过滤 ObservableCollection?

    当我将 ListBox 直接绑定到 ObservableCollection 时 我会在 ListBox 中显示实时更新 但是一旦我在混合中添加其他 LINQ 方法 我的 ListBox 就不再收到 ObservableCollection