public void Initialize(SelectCanvas canvas) { _canvas = canvas; }
private void Load() { this.MouseRightButtonDown += MainWindow_MouseRightButtonDown; mySelectCanvas = new SelectCanvas(this.canvas); mySelectCanvas.Enable(true); //this.SelectCanvas = canvas; //SimpleIoc.Default.Register(() => canvas.SelSet); //canvas.RegionHitTestAction += canvas_RegionHitTestAction; //canvas.PointHitTestAction += canvas_PointHitTestActionWithMultiSelected; mySelectCanvas.SelSet.CollectionChanged += (o, e1) => { if (e1.Action == NotifyCollectionChangedAction.Remove) { var list = e1.OldItems.OfType <Prov>().ToList(); foreach (var prov in list) { if (prov.IsLake || prov.IsSea || prov.IsWaste) { continue; } if (prov.Visual != null) { prov.Visual.Opacity = 1; } } } else if (e1.Action == NotifyCollectionChangedAction.Add) { var list = e1.NewItems.OfType <Prov>().ToList(); foreach (var prov in list) { if (prov.IsLake || prov.IsSea || prov.IsWaste) { continue; } if (prov.Visual != null) { prov.Visual.Opacity = 0.4; } } } }; var task = Task.Factory.StartNew(() => { try { var vm = SimpleIoc.Default.GetInstance <MainViewModel>(); var provs = LoadProvs(); LoadProvConfig(provs); Logic.SetWater(provs); var countries = Logic.LoadCountryColorDict1(); vm.Countries = countries; vm.Provs = provs.OrderBy(v => v.Id).ToList(); } catch (Exception ex) { Application.Current.GetLocator().Main.log.Error(ex.Message); } }); task.ContinueWith(v => { //Draw this.Dispatcher.Invoke(() => { try { //MyVisualHost1.Init(); this.MyVisualHost1.Init(MapColorModes.Country); var vm = SimpleIoc.Default.GetInstance <MainViewModel>(); vm.Percent = 100; vm.Write = ""; } catch (Exception ex) { Application.Current.GetLocator().Main.log.Error(ex.Message); } }); }); }