Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我们可以在代码隐藏中的WPF绑定中使用Where子句吗?_C#_.net_Wpf_Xaml - Fatal编程技术网

C# 我们可以在代码隐藏中的WPF绑定中使用Where子句吗?

C# 我们可以在代码隐藏中的WPF绑定中使用Where子句吗?,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,我有一个场景,我想在代码隐藏中创建一个绑定对象,然后将其连接到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 ? telerikGridV

我有一个场景,我想在代码隐藏中创建一个绑定对象,然后将其连接到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
        }
    );
我看到另一个建议我可以使用转换器,或者我应该创建一个自定义绑定类。但转换器也不工作


我是否遗漏了一些非常琐碎的事情?

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

var coll = viewModel.GetPropertyValue("Customers") as ObservableCollection<Customers>;
coll += CustomerPropertychange_Event;
var coll=viewModel.GetPropertyValue(“客户”)作为ObservableCollection;
coll+=CustomerPropertychange\u事件;

创建一个具有可观察集合的属性,该集合将包含“Customers.where(c=>c.CustomerId==“+i+”).ToList()[0].OrderValue”);然后将其绑定到保存此属性的viewmodel。将MVVM用于WPF而不是代码落后。实际上,我不能这样做。这是我可以将任意数量的客户添加到类中的需求的一部分,这个类在这里是DataContext。我不理解为什么你们不能。如果您想在类之间共享数据,请为它们提供一个公共接口。因此,此客户的集合实际上包含我可能会继续添加到类中的客户(即datacontext),并且我可以添加的客户数量未定义确定,因此通知/更新类有关添加的不同元素数量。看看这里