public MainWindowViewModel() { if (IsInDesignMode) { _menus = new List <MenuModel>(); var group1 = new MenuModel { Title = "ThinkGeo Base Maps", Children = new List <MenuModel>() }; group1.Children.Add(new MenuModel { Id = "VectorTiles", Title = "Vector Tiles" }); group1.Children.Add(new MenuModel { Id = "VectorTiles1", Title = "Vector Tiles on Aerial Imagery" }); _menus.Add(group1); var group2 = new MenuModel { Title = "ThinkGeo Cloud Services", Children = new List <MenuModel>() }; group2.Children.Add(new MenuModel { Id = "ServiceArea", Title = "Get Service Area" }); group2.Children.Add(new MenuModel { Id = "RouteCostMatrix", Title = "Route Cost Matrix" }); _menus.Add(group2); } else { _menus = JsonConvert.DeserializeObject <List <MenuModel> >(File.ReadAllText("samples.json")); } Menus = new ObservableCollection <MenuViewModel>(_menus.Select(m => new MenuViewModel(m))); CodeViewer = new CodeViewerViewModel(); CodeViewer.PropertyChanged += (sender, e) => RaisePropertyChanged(() => CodeViewer); MessengerInstance.Register <MenuModel>(this, menu => { }); }
private void UpdateCodeViewerLayout(CodeViewerViewModel codeViewer) { var codeViewerVisible = codeViewer.IsCsharpCodeVisible || codeViewer.IsXamlCodeVisible; if (codeViewerVisible) { Grid.SetColumn(SampleContent, 2); SampleContent.SetValue(Grid.ColumnSpanProperty, DependencyProperty.UnsetValue); Splitter.Visibility = Visibility.Visible; } else { Grid.SetColumn(SampleContent, 0); Grid.SetColumnSpan(SampleContent, 3); Splitter.Visibility = Visibility.Collapsed; } }