diff --git a/src/Converters/ToStringConverter.cs b/src/Converters/ToStringConverter.cs new file mode 100644 index 00000000..0af60461 --- /dev/null +++ b/src/Converters/ToStringConverter.cs @@ -0,0 +1,12 @@ +using System; +using System.Globalization; +using System.Windows.Data; + +namespace COMPASS.Converters +{ + internal class ToStringConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) => value as string ?? ""; + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException(); + } +} diff --git a/src/Windows/MainWindow.xaml b/src/Windows/MainWindow.xaml index b5f3b185..726668a5 100644 --- a/src/Windows/MainWindow.xaml +++ b/src/Windows/MainWindow.xaml @@ -21,6 +21,7 @@ PreviewKeyDown="Window_PreviewKeyDown"> + @@ -39,6 +40,7 @@ + diff --git a/src/Windows/MainWindow.xaml.cs b/src/Windows/MainWindow.xaml.cs index d8302d2c..438c79d0 100644 --- a/src/Windows/MainWindow.xaml.cs +++ b/src/Windows/MainWindow.xaml.cs @@ -1,4 +1,5 @@ -using COMPASS.ViewModels; +using COMPASS.Tools; +using COMPASS.ViewModels; using System; using System.ComponentModel; using System.Runtime.InteropServices; @@ -171,8 +172,17 @@ private async void CloseButton_Click(object sender, RoutedEventArgs e) private void Toggle_ContextMenu(object sender, RoutedEventArgs e) { - ((Button)sender).ContextMenu!.PlacementTarget = (Button)sender; - ((Button)sender).ContextMenu!.IsOpen = !((Button)sender).ContextMenu!.IsOpen; + try + { + Button btn = (Button)sender; + btn.ContextMenu!.PlacementTarget = btn; + btn.ContextMenu!.IsOpen = !btn.ContextMenu!.IsOpen; + } + catch (Exception ex) + { + Logger.Error("Could not open collection Context menu", ex); + return; + } } private async void Window_PreviewKeyDown(object sender, KeyEventArgs e)