C# 我们可以在代码隐藏中的WPF绑定中使用Where子句吗?
我有一个场景,我想在代码隐藏中创建一个绑定对象,然后将其连接到datagrid列。大概是这样的: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
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),并且我可以添加的客户数量未定义确定,因此通知/更新类有关添加的不同元素数量。看看这里