我们可以在代码中使用WPF Binding中的Where子句吗?

时间:2015-08-15 17:09:53

标签: c# .net wpf xaml

我有一个场景,我想在后面的代码中创建一个Binding对象,然后将其挂钩到datagrid列。像这样:

int i = 5; // Will get this value from some other object

Binding b = new Binding("Customers.where(c => c.CustomerId == " + i + ").ToList()[0].OrderValue");  // how to make this work ?

telerikGridView.Columns.Add(
    new Telerik.Windows.Controls.GridViewDataColumn
        {
            Header = "Customer",
            DataMemberBinding = b
        }
    );

我看到另一个post,建议我可以使用转换器,或者我应该创建一个自定义绑定类。但是转换器也没有工作。

我在这里错过了一些非常微不足道的事情吗?

1 个答案:

答案 0 :(得分:0)

在类上创建一个Observable集合,然后创建一个属性更改事件,然后在该事件上操作您的数据(where子句),然后绑定它。

var coll = viewModel.GetPropertyValue("Customers") as ObservableCollection<Customers>;
coll += CustomerPropertychange_Event;