Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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# 我正在从ObservaleCollection添加和删除,但网格没有更新_C#_Wpf_Xml_Observablecollection - Fatal编程技术网

C# 我正在从ObservaleCollection添加和删除,但网格没有更新

C# 我正在从ObservaleCollection添加和删除,但网格没有更新,c#,wpf,xml,observablecollection,C#,Wpf,Xml,Observablecollection,我正在使用此代码更新我的网格。它不起作用。网格未更新。我找不到代码有任何问题。这是一个帮助台应用程序。我正在尝试使用客户端上的网格更新服务器上已关闭的票证。救命啊 public class DAL_LOADTICKETS { private static string URL ="http://helpdesk.hujelabs.com/user.php/"+Login.user_id+"/query/"; public static void/*ObservableCollec

我正在使用此代码更新我的网格。它不起作用。网格未更新。我找不到代码有任何问题。这是一个帮助台应用程序。我正在尝试使用客户端上的网格更新服务器上已关闭的票证。救命啊

public class DAL_LOADTICKETS
{
    private static string URL ="http://helpdesk.hujelabs.com/user.php/"+Login.user_id+"/query/";
    public static void/*ObservableCollection<cTicket>*/ LoadOPENTICKETS()
    {
        // Execute the query using the LINQ to XML

        var tickets = from c in XElement.Load(URL).Elements("query") select c;
        foreach (var ticks in tickets)
        {
            cTicket lTicket = new cTicket
            {
                TicketID = ticks.Element("query_id").Value,
                TicketStatus = ticks.Element("status").Value,
                TicketSubject = ticks.Element("subject").Value,
                TicketDescription = ticks.Element("description").Value,
                TicketTags = ticks.Element("tag").Value,
                TimeStamp = ticks.Element("timestamp").Value,
            };
            if (ticks.Element("status").Value == "open")
            {
                if (!Window1.OpenTicketsList.Contains(lTicket))
                {
                    Window1.OpenTicketsList.Add(lTicket);
                }
            }

            else if (ticks.Element("status").Value == "closed")
            {
                if (Window1.OpenTicketsList.Contains(lTicket))
                {
                    Console.WriteLine("VISITED BUT NOT DELETED");

                    Window1.OpenTicketsList.Remove(lTicket);
                }
            }

        }

    }


看起来您的代码正在构造一个新票证,并试图将其从ObservableCollection中删除。尝试查找已在收藏中的票证,然后将其删除。或者,您可能需要覆盖票证类上的Equals,以便ObservableCollection知道您的新票证与旧票证相等。

看起来您的代码正在构造一个新票证,并试图将其从ObservableCollection中删除。尝试查找已在收藏中的票证,然后将其删除。或者,您可能需要在您的票证类上覆盖Equals,以便ObservableCollection知道您的新票证与旧票证相等。

您还可以演示如何设置网格到Window1.OpenTicketsList的数据绑定吗?您可以发布您的xaml和ViewModel的相关部分吗?我已经为您所看到的xaml更新了相同的代码块绑定到TicketCollection,但在代码中操作OpenTicketList。还可以显示cTicket的定义,这样我们就可以确定实例匹配是如何进行的。我似乎找不到问题。您还可以演示如何设置网格到Window1.OpenTicketsList的数据绑定吗?您可以发布您的xaml和ViewModel的相关部分吗?我已经为xaml更新了相同的代码块您似乎要绑定到TicketCollection,但在您操作OpenTicketsList的代码中。还可以显示cTicket的定义,这样我们就可以确定实例匹配是如何进行的。我似乎找不到问题所在。我编写了另一个方法来检查当前收藏与web上的收藏。匹配他们的查询id并检查状态。但在更新中,它给出了一个例外:集合被修改;枚举操作可能无法执行。当您对大多数集合使用foreach语句时,枚举器将检查以确保该集合未被修改(添加/删除/替换/清除)。如果自创建枚举器后集合已更改,则枚举器将引发此异常。要解决这个问题,修改集合后,
从循环中分离出来。或者,您可以使用一个循环来查找需要删除的对象/索引,在foreach(){}之后,您可以修改集合。选择索引并从foreach外部删除。不确定它是否完全没有BUG……我写了另一个方法来检查当前集合与web上的集合。匹配他们的查询id并检查状态。但在更新中,它给出了一个例外:集合被修改;枚举操作可能无法执行。当您对大多数集合使用foreach语句时,枚举器将检查以确保该集合未被修改(添加/删除/替换/清除)。如果自创建枚举器后集合已更改,则枚举器将引发此异常。要解决这个问题,修改集合后,
从循环中分离出来。或者,您可以使用一个循环来查找需要删除的对象/索引,在foreach(){}之后,您可以修改集合。选择索引并从foreach外部删除。不确定它是否完全没有BUG。。。。。。