internal void Hinzufuegen(Window window)
        {
            var dialog = new PropertyBearbeitenView()
            {
                Owner = window
            };
            var viewModel = new PropertyBearbeitenViewModel(GetBlackList(), "", "_Kategorie")
            {
                CloseAction = dialog.Close
            };

            dialog.DataContext = viewModel;
            dialog.ShowDialog();

            if (viewModel.IsOk)
            {
                var newViewModel = new KategorieViewModel(viewModel.Property)
                {
                    LoeschenAction  = Loeschen,
                    NachObenAction  = NachObenSortieren,
                    NachUntenAction = NachUntenSortieren,
                    GetBlackList    = GetBlackList
                };
                newViewModel.PropertyChanged += ContentPropertyChanged;
                KategorienListe.Add(newViewModel);
                IsDirty = true;
            }
        }
        internal KategorienVerwaltenViewModel(string currentKategorie)
        {
            ZuruecksetzenCommand = new MyCommand(Zureucksetzen);
            SichernCommand       = new MyCommand(Sichern);
            HinzufuegenCommand   = new MyParameterCommand <Window>(Hinzufuegen);

            _deletedItems = new List <string>();

            var list = new List <string>();

            PluginManager.DbManager.GetDateiKategorien(ref list);
            KategorienListe = new ObservableCollection <KategorieViewModel>();

            foreach (var kategorie in list)
            {
                var viewModel = new KategorieViewModel(kategorie)
                {
                    LoeschenAction  = Loeschen,
                    NachObenAction  = NachObenSortieren,
                    NachUntenAction = NachUntenSortieren,
                    GetBlackList    = GetBlackList
                };
                viewModel.PropertyChanged += ContentPropertyChanged;
                KategorienListe.Add(viewModel);
            }

            IsDirty = false;

            if (!string.IsNullOrWhiteSpace(currentKategorie))
            {
                if (!KategorienListe.Any(item => item.Kategorie == currentKategorie))
                {
                    var viewModel = new KategorieViewModel(currentKategorie)
                    {
                        LoeschenAction  = Loeschen,
                        NachObenAction  = NachObenSortieren,
                        NachUntenAction = NachUntenSortieren,
                        GetBlackList    = GetBlackList
                    };
                    viewModel.PropertyChanged += ContentPropertyChanged;
                    KategorienListe.Add(viewModel);
                    IsDirty = true;
                }
            }
        }
        internal void Zureucksetzen()
        {
            KategorienListe.Clear();
            _deletedItems.Clear();

            var list = new List <string>();

            PluginManager.DbManager.GetDateiKategorien(ref list);

            foreach (var kategorie in list)
            {
                var viewModel = new KategorieViewModel(kategorie)
                {
                    LoeschenAction  = Loeschen,
                    NachObenAction  = NachObenSortieren,
                    NachUntenAction = NachUntenSortieren,
                    GetBlackList    = GetBlackList
                };
                viewModel.PropertyChanged += ContentPropertyChanged;
                KategorienListe.Add(viewModel);
            }

            IsDirty = false;
        }