Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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中绑定查询结果_C#_Wpf_Binding - Fatal编程技术网

C# 如何在WPF中绑定查询结果

C# 如何在WPF中绑定查询结果,c#,wpf,binding,C#,Wpf,Binding,我有一个查询,它命中一个服务并将结果作为索引集合返回给我 static void QueryActivities() { QueryClient qc = new QueryClient("BasicHttpBinding_IQuery"); QueryFilter filter = new QueryFilter(); filter.CallForService = false; var result = qc.GetFilteredActivityIndex(

我有一个查询,它命中一个服务并将结果作为索引集合返回给我

static void QueryActivities()
{
    QueryClient qc = new QueryClient("BasicHttpBinding_IQuery");
    QueryFilter filter = new QueryFilter();
    filter.CallForService = false;
    var result = qc.GetFilteredActivityIndex(filter);
    result.Clone(); //inserted this just to test return in debug mode
}
当执行此操作时,我会返回5条记录,实际上是5行数据,每行有多个值。id、类型、日期、地址等

我想将此返回绑定到WPF应用程序中的gridview。是否有方法引用并绑定到结果变量,或者是否需要创建一个新集合,然后将结果返回添加到新集合


谢谢

也许有一种方法可以使用WPF工具包的DataGrid。但是,我会创建一个自定义对象,对该对象进行ObservableCollection并绑定到它。是用于此类型使用的集合,您可以将自定义对象中的元素绑定到gridview中的不同元素

更新:


根据您的评论,您似乎需要一个好的MVVM绑定教程。我看过的最好的教程是教程。它帮助您绑定自定义类集合中的关联属性。

新的classViewModel级别集合及其关联属性会更好。

经过一些测试后,我发现可以直接绑定到查询。变量;e结果充当它自己的列表集合。也就是说,我能够使用以下方式显示数据:

    private void QueryActivities()
    {
        QueryClient qc = new QueryClient("BasicHttpBinding_IQuery");
        QueryFilter filter = new QueryFilter();
        filter.CallForService = false;
        var result = qc.GetFilteredActivityIndex(filter);

        this.actGridView.ItemsSource = result; //binds to the gridview
    }

感谢所有关于使用集合的评论。

能否提供一段示例代码?当您陈述关联属性时,您指的是在视图上设置依赖属性吗?我擅长将部件控件绑定到集合,但不擅长将返回绑定到新集合的部件。这是我认为值得学习的东西。在上面的代码片段中,我无法将结果传递给新集合。谢谢大家!@兰迪克:结果是什么样的?@兰迪克:万一你还在挣扎。。。结果=新的ObservableCollectionqc.GetFilteredActivityIndexfilter;其中结果是ObservableCollection类型的属性。现在可以将此结果绑定到控件。当属性或集合本身发生更改时,我们使用ObservaleCollection来通知更改。可以正常工作,但感谢您提供创建集合的提示