private void Event_SelectFillTile(object sender, RoutedEventArgs e)
 {
     if (DataContext != null && DataContext.GetType() == typeof(MapSettingsViewModel))
     {
         MapSettingsViewModel map = (DataContext as MapSettingsViewModel);
         Window w = new TilePickerWindow();
         w.DataContext = new TilePickerViewModel(map.Atlas, map.FillTile);
         w.Show();
     }
 }
        private void Event_ApplySettings(object sender, RoutedEventArgs e)
        {
            if (DataContext == null)
            {
                return;
            }

            MapSettingsViewModel vm = DataContext as MapSettingsViewModel;

            if (vm.ApplyChanges == null)
            {
                return;
            }
            vm.ApplyChanges.Execute(null);


            this.Close();
        }
        public void TestDefaultCtor()
        {
            // run
            var viewModel = new MapSettingsViewModel();

            Debug.WriteLine($"SelectedMapImageryType = {viewModel.SelectedMapImageryType}");
            Debug.WriteLine($"SelectedMapOverlayType = {viewModel.SelectedMapOverlayType}");
            Debug.WriteLine($"SelectedMapShadingModeItem = {viewModel.SelectedMapShadingModeItem}");
            Debug.WriteLine($"SelectedCoordinateDisplayFormatItem = {viewModel.SelectedCoordinateDisplayFormatItem}");

            viewModel.SelectedMapImageryType              = viewModel.MapImageryTypeItems.Last();
            viewModel.SelectedMapOverlayType              = viewModel.MapOverlayTypeItems.Last();
            viewModel.SelectedMapShadingModeItem          = viewModel.MapShadingModeItems.Last();
            viewModel.SelectedCoordinateDisplayFormatItem = viewModel.CoordinateDisplayFormatItems.Last();

            // check
            Assert.IsTrue(viewModel.MapImageryTypeItems.Any(), "map imagery type list must contain items");
            Assert.IsTrue(viewModel.MapOverlayTypeItems.Any(), "map overlay type list must contain items");
            Assert.IsTrue(viewModel.MapShadingModeItems.Any(), "map shading mode list must contain items");
            Assert.IsTrue(viewModel.CoordinateDisplayFormatItems.Any(), "coordinate display format list must contain items");
        }