Diskuze: Windows 8 - ObservableCollection

C# .NET .NET (C# a Visual Basic) Windows 8 - ObservableCollection American English version English version

Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Ahoj, nevím zda již máte zkušenosti s programováním aplikací pro nové rozhraní Windows 8 (nesprávně řečeno Metro). Mám menší problém. Mám listview, kde zobrazuju uživatelská data. Uživatel může data filtrovat. Pro uchování dat mám ObservableCollec­tion (obdoba List, ale ObservableCollec­tion zajišťuje automatický update v XAML Binding). Následné filtruju data do druhého ObservableCollec­tion a ty následně vypíšu do listview. Problém je v tom, že se mi z neznámého důvodu, když filtruju data, vymaže hlavní kolekce, tudíž není ani co filtrovat. Podle kódu, a podle mého souzení to prostě mazat nemá (ale víme jak to chodí :D).

Kód kde zajišťuju filtraci (zde dochází i k problému při krokování v debugu, pokud nekrokuju nic se neděje. Problémem je chybějící zkompilovaný soubor XAML, který ovšem zkompilovaný je.

if (cb_filter == null) return;
          else
          {
              taskFilter.Clear(); // vymaže vyfiltrovaná data z pomocné kolekce
              string filtr = cb_filter.SelectedValue.ToString(); //zjistí aktuální filtr

              if (filtr != "All") // pokud se nerovná filtr All, tedy výpis všech
              {
                  foreach (TaskData task in tasklist)// tak filtruju data
                  {
                      if (task.Category == filtr)
                      {
                          taskFilter.Add(task);
                      }
                  }
              }
              else taskFilter = tasklist;//pokud se rovná All, pouze nastavím všehcny data do pomocné kolekce
              //z kolekce hlavní

Filtrů mám . Pokud překlávám mezi filtry, který obsahují nějaká data vše je v pořádku. Jakmile nastavím filtr, který nevyfiltruje žádná data a poté překliknu na All z hlavní kolekce se vše vymaže. Opravdu nevím kde je zakopaný čert. Nějaké nápady ?

Odpovědět 6.12.2012 18:35
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.