using ComPDFKitViewer; using ComPDFKitViewer.AnnotEvent; using PDF_Office.Properties; using PDF_Office.ViewModels.PropertyPanel.AnnotPanel; using PDFSettings; using System; using System.Collections.Generic; 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.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace PDF_Office.Views.PropertyPanel.AnnotPanel { /// /// TextAnnotProperty.xaml 的交互逻辑 /// public partial class TextAnnotProperty : UserControl { private TextAnnotPropertyViewModel ViewModel =>DataContext as TextAnnotPropertyViewModel; public TextAnnotProperty() { InitializeComponent(); cusColor.SelectedColorHandler += cusColor_SelectedColor; SlidOpacity.SelectedValueChanged += SlidOpacity_SelectedValue; ViewModel.LoadPropertyHandler += ViewModel_LoadPropertyHandler; } 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.SetSelectedColor(annot.Color); SlidOpacity.SetSliOpacity(annot.Transparency); } break; } case AnnotArgsType.AnnotUnderline: { var annot = item as TextUnderlineAnnotArgs; if (annot != null) { cusColor.SetSelectedColor(annot.Color); SlidOpacity.SetSliOpacity(annot.Transparency); } break; } case AnnotArgsType.AnnotStrikeout: { var annot = item as TextStrikeoutAnnotArgs; if (annot != null) { cusColor.SetSelectedColor(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 OpacitySlider_DragStarted(object sender, System.Windows.Controls.Primitives.DragStartedEventArgs e) { } private void OpacitySlider_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e) { } private void OpacitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { } private void ColorDropPicker_SelectedColorChanged(object sender, Color? e) { if(ViewModel != null) { ViewModel.SelectedColorChangedCommand?.Execute(e.Value); } } } }