带过滤功能的 Silverlight 绑定

发布于 2024-12-06 08:55:25 字数 124 浏览 1 评论 0原文

我目前正在尝试找出 Silverlight 4 中的绑定解决方案。

我有一个可观察的项目集合。我想将其绑定到组合框,但只显示符合特定条件的项目。例如组==“测试组”。我尝试了很多方法来完成这项工作,但没有取得任何成功。

I am currently trying to figure out a binding solution in Silverlight 4.

I have an observable collection of items. I want to bind this to a ComboBox but only display the items that match a certain condition. For example group == "Test Group." I have tried quite a few ways to make this work but haven't had any success.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

演多会厌 2024-12-13 08:55:25

过去,我在 VM 上的公开属性中使用了 LINQ,例如:

    /// <summary>
    /// Get filtered results(by location)
    /// </summary>
    public ObservableCollection<SearchResultData> FilteredResults        {
        get
        {
            return new ObservableCollection<SearchResultData>(Results.Where(p => p.LocationId == CurrentLocation.Id));
        }
    }

使用这种方法,您需要在 LINQ 中的底层集合发生更改时提供通知,例如:

    public ObservableCollection<SearchResultData> Results
    {
        get { return _results; }
        set
        {
            _results = value;
            NotifyOfPropertyChange(() => Results);
            NotifyOfPropertyChange(() => FilteredResults);
        }
    } 

In the past I have used LINQ in an exposed property on the VM e.g:

    /// <summary>
    /// Get filtered results(by location)
    /// </summary>
    public ObservableCollection<SearchResultData> FilteredResults        {
        get
        {
            return new ObservableCollection<SearchResultData>(Results.Where(p => p.LocationId == CurrentLocation.Id));
        }
    }

Using this approach you will need to provide a notification when the underlying collection in the LINQ changes e.g:

    public ObservableCollection<SearchResultData> Results
    {
        get { return _results; }
        set
        {
            _results = value;
            NotifyOfPropertyChange(() => Results);
            NotifyOfPropertyChange(() => FilteredResults);
        }
    } 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文