using ComPDFKitViewer.AnnotEvent; using Microsoft.Office.Interop.Excel; using PDF_Master.ViewModels.PropertyPanel.AnnotPanel; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Markup; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace PDF_Master.Views.PropertyPanel.AnnotPanel { /// /// StickyNoteProperty.xaml 的交互逻辑 /// public partial class StickyNoteProperty : UserControl { private StickyNotePropertyViewModel ViewModel => DataContext as StickyNotePropertyViewModel; public StickyNoteProperty() { InitializeComponent(); cusColor.SelectedColorHandler += cusColor_SelectedColor; } private void ViewModel_LoadPropertyHandler(object sender, object e) { var item = e as AnnotHandlerEventArgs; switch (item.EventType) { case AnnotArgsType.AnnotHighlight: { var annot = item as TextHighlightAnnotArgs; if (annot != null) { cusColor.SelectedColor = annot.Color; SlidOpacity.SetSliOpacity(annot.Transparency); } break; } case AnnotArgsType.AnnotUnderline: { var annot = item as TextUnderlineAnnotArgs; if (annot != null) { cusColor.SelectedColor = annot.Color; SlidOpacity.SetSliOpacity(annot.Transparency); } break; } case AnnotArgsType.AnnotStrikeout: { var annot = item as TextStrikeoutAnnotArgs; if (annot != null) { cusColor.SelectedColor = annot.Color; SlidOpacity.SetSliOpacity(annot.Transparency); } break; } } } private void SlidOpacity_SelectedValue(object sender, double e) { //if (ViewModel != null) //{ // ViewModel.SelectedValueChangedCommand?.Execute(e); //} } private void cusColor_SelectedColor(object sender, Color e) { if (ViewModel != null) { ViewModel.SelectedColorChangedCommand?.Execute(e); } } private void UserControl_Loaded(object sender, RoutedEventArgs e) { if (ViewModel != null) { var converter = TypeDescriptor.GetConverter(typeof(Geometry)); switch (ViewModel.strOtherTag) { case "Comment": BtnComment.IsChecked = true; var dataComment = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataComment); break; case "Note": BtnNote.IsChecked = true; var dataNote = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataNote); break; case "Key": BtnKey.IsChecked = true; var dataKey = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataKey); break; case "Help": BtnHelp.IsChecked = true; var dataHelp = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataHelp); break; case "Insert": BtnInsert.IsChecked = true; var dataInsert = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataInsert); break; case "Paragraph": BtnParagraph.IsChecked = true; var dataParagraph = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataParagraph); break; case "NewParagraph": BtnNewParagraph.IsChecked = true; var dataNewParagraph = ViewModel.StickyNoteTypes[ViewModel.strOtherTag]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataNewParagraph); break; case "None": BtnComment.IsChecked = false; BtnNote.IsChecked = false; BtnKey.IsChecked = false; BtnHelp.IsChecked = false; BtnInsert.IsChecked = false; BtnParagraph.IsChecked = false; BtnNewParagraph.IsChecked = false; break; default: BtnComment.IsChecked = true; var datacomment = ViewModel.StickyNoteTypes["Comment"]; ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(datacomment); break; } if (ViewModel.IsFirst) { //暂时解决方案,让其先等于高保真所需的默认值,然后在变为注释setting默认颜色值 ViewModel.SharpCurrentColor = App.Current.FindResource("color.sys.layout.divider.note") as Brush; ViewModel.SharpColor = ViewModel.SharpColor; ViewModel.IsFirst = false; } } // cusColor.SelectedColorHandler -= cusColor_SelectedColor; // cusColor.SelectedColorHandler += cusColor_SelectedColor; // SlidOpacity.SelectedValueChanged -= SlidOpacity_SelectedValue; // SlidOpacity.SelectedValueChanged += SlidOpacity_SelectedValue; // ViewModel.LoadPropertyHandler -= ViewModel_LoadPropertyHandler; // ViewModel.LoadPropertyHandler += ViewModel_LoadPropertyHandler; } private void UserControl_Unloaded(object sender, RoutedEventArgs e) { // cusColor.SelectedColorHandler -= cusColor_SelectedColor; // SlidOpacity.SelectedValueChanged -= SlidOpacity_SelectedValue; // ViewModel.LoadPropertyHandler -= ViewModel_LoadPropertyHandler; } } }