LogViewer.MainWindow.OnOpenFile C# (CSharp) Method

OnOpenFile() private method

private OnOpenFile ( object sender, RoutedEventArgs e ) : void
sender object
e System.Windows.RoutedEventArgs
return void
        private async void OnOpenFile(object sender, RoutedEventArgs e)
        {
            OpenButton.IsEnabled = false;

            Microsoft.Win32.OpenFileDialog fo = new Microsoft.Win32.OpenFileDialog();
            fo.Filter = "PX4 Log Files (*.px4log)|*.px4log|CSV Files (*.csv)|*.csv|bin files (*.bin)|*.bin|mavlink files (*.mavlink)|*.mavlink";
            fo.CheckFileExists = true;
            fo.Multiselect = true;
            if (fo.ShowDialog() == true)
            {
                foreach (var file in fo.FileNames)
                {
                    switch (System.IO.Path.GetExtension(file).ToLowerInvariant())
                    {
                        case ".csv":
                            await Task.Run(async () => { await LoadCsvFile(file); });
                            break;
                        case ".bin":
                        case ".px4log":
                            await Task.Run(async () => { await LoadBinaryFile(file); });
                            break;
                        case ".mavlink":
                            await Task.Run(async () => { await LoadMavlinkFile(file); });
                            break;
                        default:
                            MessageBox.Show("Do not know how to read files of type : " + System.IO.Path.GetExtension(file),
                                "Unsupported file extension", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                            break;
                    }
                }
            }
            OpenButton.IsEnabled = true;
        }