Пример #1
0
        public MainWindowViewModel()
        {
            _searchText                   = string.Empty;
            _hostsFilePath                = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"drivers\etc");
            _hostsFileName                = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"drivers\etc\hosts");
            _hostItems                    = new ObservableCollection <HostItem>();
            _filteredHostItems            = new ObservableCollection <HostItem>();
            _hostItems.CollectionChanged += _hostItems_CollectionChanged;
            _targets = new ObservableCollection <TargetAddress>();

            Browsers = BrowserHelper.GetInstalledBrowsers();


            SelectedHostItemBindingChanged = new SelectedHostItemBindingChangedCommand(this);
            ClearSelectedTargetTag         = new ClearSelectedTargetTagCommand(this);
            LaunchBrowser = new LaunchBrowserCommand(this);

            LoadHostsFile();
            ParseHostFileContents();

            PropertyChanged += MainWindowViewModel_PropertyChanged;

            _hostsWatcher                     = new FileSystemWatcher();
            _hostsWatcher.Path                = _hostsFilePath;
            _hostsWatcher.NotifyFilter        = NotifyFilters.LastWrite;
            _hostsWatcher.Changed            += _hostsWatcher_Changed;
            _hostsWatcher.EnableRaisingEvents = true;
        }