public MainWindow(Viewmodel viewmodel)
 {
     this.viewmodel = viewmodel;
     filterStringHolder = new FilterStringHolder();
     filterTimer = new Timer(filterTimerCallback, filterStringHolder, Timeout.Infinite, Timeout.Infinite);
     this.InitializeComponent();
     DataContext = viewmodel;
     viewmodel.PropertyChanged += Viewmodel_PropertyChanged;
     if (!Properties.Settings.Default.FirstStart)
     {
         this.Height = Properties.Settings.Default.WindowHeight;
         this.Width = Properties.Settings.Default.WindowWidth;
         this.Left = Properties.Settings.Default.WindowPositionLeft;
         this.Top = Properties.Settings.Default.WindowPositionTop;
     }
     switch (Properties.Settings.Default.CompletedChallenges)
     {
         case CompletedBehaviour.DO_NOTHING:
             completedChallengesCombobox.SelectedIndex = 0;
             break;
         case CompletedBehaviour.SORT_TO_END:
             completedChallengesCombobox.SelectedIndex = 1;
             break;
         case CompletedBehaviour.HIDE:
             completedChallengesCombobox.SelectedIndex = 2;
             break;
         default:
             break;
     }
     viewmodel.changeCompletedBehaviour(Properties.Settings.Default.CompletedChallenges);
 }
 protected override void OnStartup(StartupEventArgs e)
 {
     base.OnStartup(e);
     model = new Model();
     viewmodel = new Viewmodel(model);
     viewmodel.PropertyChanged += Viewmodel_PropertyChanged;
     appInitTimer = new Timer(appInitTimerCallback, null, 0, Timeout.Infinite);
     mainWindow = new MainWindow(viewmodel);
     mainWindow.Title = "Poe Challenge Tracker";
     var uri = new Uri("pack://application:,,,/resources/logo.png");
     var bitmap = BitmapFrame.Create(uri);
     mainWindow.Icon = bitmap;
     mainWindow.Show();
     mainWindow.persistFirstStart();
 }
 public LeagueView(Viewmodel viewmodel)
 {
     isChecked = false;
     this.viewmodel = viewmodel;
 }