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; }