diff options
author | Dominique Louis <dolouis@microsoft.com> | 2019-09-26 13:08:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-26 13:08:49 +0300 |
commit | 0525c4d409e05edec73cc30f185421a7391fe812 (patch) | |
tree | c87fcf7f1ab310ae3c404dffa08f9673dedf776a | |
parent | 2f6533b51fd9613de962927b3b1c0db2438e154b (diff) | |
parent | ff21f0045edf7b95c1d39098517b2d47e197d851 (diff) |
Merge pull request #631 from xamarin/ermau-fix-mac-targetplatform
Fix TargetPlatform on Mac
-rw-r--r-- | Xamarin.PropertyEditing.Mac/PropertyEditorPanel.cs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Xamarin.PropertyEditing.Mac/PropertyEditorPanel.cs b/Xamarin.PropertyEditing.Mac/PropertyEditorPanel.cs index bd30c24..7e96dde 100644 --- a/Xamarin.PropertyEditing.Mac/PropertyEditorPanel.cs +++ b/Xamarin.PropertyEditing.Mac/PropertyEditorPanel.cs @@ -89,12 +89,14 @@ namespace Xamarin.PropertyEditing.Mac var views = this.tabStack.Views; for (int i = 0; i < views.Length; i++) { - ((TabButton)views[i]).Clicked -= OnArrangeModeChanged; + var button = (TabButton)views[i]; + button.Clicked -= OnArrangeModeChanged; + button.RemoveFromSuperview (); } } this.targetPlatform = value; - this.viewModel = new PanelViewModel (value); + this.viewModel = (value != null) ? new PanelViewModel (value) : null; this.propertyList.ViewModel = this.viewModel; OnVmPropertyChanged (this.viewModel, new PropertyChangedEventArgs (null)); @@ -230,10 +232,12 @@ namespace Xamarin.PropertyEditing.Mac private void OnVmPropertyChanged (object sender, PropertyChangedEventArgs e) { if (e.PropertyName == nameof (PanelViewModel.ArrangeMode) || String.IsNullOrEmpty (e.PropertyName)) { - int selected = this.viewModel.ArrangeModes.Select (vm => vm.ArrangeMode).IndexOf (this.viewModel.ArrangeMode); - var views = this.tabStack.Views; - for (int i = 0; i < views.Length; i++) { - ((TabButton)views[i]).Selected = (i == selected); + if (this.viewModel != null) { + int selected = this.viewModel.ArrangeModes.Select (vm => vm.ArrangeMode).IndexOf (this.viewModel.ArrangeMode); + var views = this.tabStack.Views; + for (int i = 0; i < views.Length; i++) { + ((TabButton)views[i]).Selected = (i == selected); + } } } } |