示例#1
0
        public MainViewModel()
        {
            WinConsole.Initialize();

            ExitCommand = new Command(Exit);

            ConsoleCommand = new Command(p => WinConsole.Visible = !WinConsole.Visible);

            AddCommand    = new Command(Add);
            DeleteCommand = new Command(Delete)
            {
                CanExecuteFunction = p => CanDelete
            };
            EditCommand = new Command(Edit)
            {
                CanExecuteFunction = p => CanEdit
            };

            AboutCommand = new Command(ShowAboutDialog);

            LoadCommand = new Command(Load);

            SaveCommand = new Command(Save);

            ClearFilterCommand = new Command(() => FilterText = "");

            CalcCommand = new Command(Calculate);

            OpenFileCommand = new Command
            {
                CanExecuteFunction = p => true,
                ExecuteFunction    = p => OpenFile()
            };

            People = new ObservableCollection <Person>();

            Config = new Configurator();

            PeopleView = CollectionViewSource.GetDefaultView(People);

            PeopleView.Filter = obj =>
            {
                if (FilterText.IsEmpty())
                {
                    return(true);
                }

                var p = obj as Person;
                return(p != null && p.FullName.IndexOf(FilterText, StringComparison.CurrentCultureIgnoreCase) >= 0);
            };


            Initialize();
        }