Exemple #1
0
        public void Handle(SelectedSPDFileEvent e)
        {
            var spd = SPD.Parse(File.ReadAllBytes(e.FilePath));

            if (spd == null)
            {
                MessageBox.Show("Invalid SPD file", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                SPD = spd;

                xmpVm1.IsEnabled = SPD.XMP1Enabled;
                SPD.Bind(x => x.XMP1Enabled, (s, args) => xmpVm1.IsEnabled = args.NewValue);
                xmpVm1.Profile = SPD.XMP1;
                for (int i = 0; i < xmpVm1.CLSupported.Count; ++i)
                {
                    xmpVm1.CLSupported[i] = xmpVm1.Profile.IsCLSupported(i);
                }

                xmpVm2.IsEnabled = SPD.XMP2Enabled;
                SPD.Bind(x => x.XMP2Enabled, (s, args) => xmpVm2.IsEnabled = args.NewValue);
                xmpVm2.Profile = SPD.XMP2;
                for (int i = 0; i < xmpVm2.CLSupported.Count; ++i)
                {
                    xmpVm2.CLSupported[i] = xmpVm2.Profile.IsCLSupported(i);
                }

                BindNotifyPropertyChanged(xmpVm1);
                BindNotifyPropertyChanged(xmpVm2);

                FilePath = e.FilePath;
                FileName = Path.GetFileName(FilePath);
            }
        }