public void OnNavigatedTo(ContainerEditorNavigationContext context) { // first initialize the storage account meta data this.StorageAccount = context.Account; // then initialize the client InitializeClient(); this.IsNew = context.IsNew; if (this.IsNew) { this.CurrentContainer = new AzureStorageContainer(); Messenger.Default.Send <PageTitleChangedEvent>(new PageTitleChangedEvent() { Title = "Creating New Container" }); // make sure we reset this on new containers this.CurrentContainer.AccessLevel = privateAccess; this.CanEditName = true; } else { this.CurrentContainer = context.Container; Messenger.Default.Send <PageTitleChangedEvent>(new PageTitleChangedEvent() { Title = this.CurrentContainer.Name }); // TODO: find the right access level from the container's internal value var existingMatch = this.AccessLevels.Where(f => f.Code == this.CurrentContainer.AccessLevel.Code).FirstOrDefault(); this.CurrentContainer.AccessLevel = existingMatch; this.CanEditName = false; Validate(); } // turn on validation monitoring this.CurrentContainer.PropertyChanged += (s, e) => { Validate(); }; }
private void OnCreateContainerClick(object sender, RoutedEventArgs e) { var context = new ContainerEditorNavigationContext(); context.Account = viewModel.StorageAccount; context.IsNew = true; this.Frame.Navigate(typeof(ContainerEditorView), context); }
private void OnEditContainerClick(object sender, RoutedEventArgs e) { var context = new ContainerEditorNavigationContext(); context.Account = viewModel.StorageAccount; context.Container = viewModel.SelectedContainers.FirstOrDefault(); context.IsNew = false; this.Frame.Navigate(typeof(ContainerEditorView), context); }