public void ResetData()
        {
            TreeData = new XmlChildItem[] { new XmlChildItem {
                                                Expression = "not loaded yet", IsSelected = true,
                                            } };
            MemoryData = new FlatItem[] { new FlatItem {
                                              Path = "0", TreeItem = new XmlChildItem {
                                                  Expression = "not calculated", IsSelected = true,
                                              }
                                          } };

            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
        public async Task LoadXml()
        {
            LoadButtonEnable = false;

            if (string.IsNullOrEmpty(FilePath))
            {
                MessageBox.Show("Je potřeba zadat cestu k XML souboru!", "Zadejte XML soubor", MessageBoxButton.OK, MessageBoxImage.Asterisk, MessageBoxResult.OK);
                return;
            }

            if (!File.Exists(FilePath))
            {
                MessageBox.Show("Soubor neexistuje!", "Zadejte XML soubor", MessageBoxButton.OK, MessageBoxImage.Asterisk, MessageBoxResult.OK);
                return;
            }

            try
            {
                var treeData = await DeserializeObjectAsync <XmlRootItem>(FilePath);

                treeData.Item.IsExpanded = true;
                treeData.Item.IsSelected = true;

                TreeData = new XmlChildItem[] { treeData.Item };

                TreeData[0].SetParentToChildren(null);

                MemoryData = new FlatItem[] { new FlatItem {
                                                  Path = "0", TreeItem = new XmlChildItem {
                                                      Expression = "not calculated", IsSelected = true,
                                                  }
                                              } };
            }
            catch (Exception ex)
            {
                MessageBox.Show("Nastala chyba při zpracování souboru:\n\n " + ex.Message);
            }

            LoadButtonEnable = true;
        }