123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- using ComPDFKitViewer.PdfViewer;
- 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;
- using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
- namespace Compdfkit_Tools.Measure
- {
- /// <summary>
- /// MeasureSettingPanel.xaml 的交互逻辑
- /// </summary>
- public partial class MeasureSettingPanel : UserControl
- {
- public event EventHandler CancelEvent;
- public event EventHandler DoneEvent;
- public bool ReturnToInfoPanel { get; set; }
- public MeasureSettingPanel()
- {
- InitializeComponent();
- }
- private void ButtonCancel_Click(object sender, RoutedEventArgs e)
- {
- CancelEvent?.Invoke(this, e);
- ReturnToInfoPanel = false;
- }
- private void ButtonDone_Click(object sender, RoutedEventArgs e)
- {
- SaveMeasureSetting();
- DoneEvent?.Invoke(this, e);
- ReturnToInfoPanel = false;
- }
- private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
- {
- List<Key> allowKeys = new List<Key>()
- {
- Key.Delete, Key.Back, Key.Enter, Key.NumPad0, Key.NumPad1, Key.NumPad2, Key.NumPad3,
- Key.NumPad4, Key.NumPad5, Key.NumPad6, Key.NumPad7, Key.NumPad8, Key.NumPad9, Key.D0,
- Key.D1, Key.D2, Key.D3, Key.D4, Key.D5, Key.D6, Key.D7, Key.D8, Key.D9, Key.Left, Key.Right,
- Key.OemPeriod,Key.Decimal
- };
- if (allowKeys.Contains(e.Key) == false)
- {
- e.Handled = true;
- }
- }
- private void TextBox_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- try
- {
- if (e.Command == ApplicationCommands.Paste && Clipboard.ContainsText())
- {
- string checkText = Clipboard.GetText();
- if (int.TryParse(checkText, out int value))
- {
- e.CanExecute = true;
- }
- e.Handled = true;
- }
- }
- catch (Exception ex)
- {
- }
- }
- public void BindMeasureSetting()
- {
- RulerBaseText.Text=MeasureSetting.RulerBase.ToString();
- RulerTranslateText.Text=MeasureSetting.RulerTranslate.ToString();
- RulerTranslateCombo.SelectedIndex = -1;
- RulerBaseUnitCombo.SelectedIndex = -1;
- PrecisionBox.SelectedIndex = -1;
- if (MeasureSetting.RulerBaseUnit=="in")
- {
- RulerBaseUnitCombo.SelectedIndex = 0;
- }
- if (MeasureSetting.RulerBaseUnit == "cm")
- {
- RulerBaseUnitCombo.SelectedIndex = 1;
- }
- if (MeasureSetting.RulerBaseUnit == "mm")
- {
- RulerBaseUnitCombo.SelectedIndex = 2;
- }
- for(int i=0;i< RulerTranslateCombo.Items.Count;i++)
- {
- ComboBoxItem checkItem= RulerTranslateCombo.Items[i] as ComboBoxItem;
- if(checkItem!=null && checkItem.Content.ToString()==MeasureSetting.RulerTranslateUnit.ToString())
- {
- RulerTranslateCombo.SelectedIndex = i;
- }
- }
- for (int i = 0; i < PrecisionBox.Items.Count; i++)
- {
- ComboBoxItem checkItem = PrecisionBox.Items[i] as ComboBoxItem;
- if (checkItem != null && checkItem.Content.ToString() == MeasureSetting.Precision.ToString())
- {
- PrecisionBox.SelectedIndex = i;
- }
- }
- }
- private void SaveMeasureSetting()
- {
- if(double.TryParse(RulerBaseText.Text,out double ruleBase))
- {
- MeasureSetting.RulerBase = ruleBase;
- }
-
- if(RulerBaseUnitCombo.SelectedItem!=null)
- {
- ComboBoxItem checkItem = RulerBaseUnitCombo.SelectedItem as ComboBoxItem;
- MeasureSetting.RulerBaseUnit= checkItem.Content.ToString();
- }
- if (double.TryParse(RulerTranslateText.Text, out double ruletranBase))
- {
- MeasureSetting.RulerTranslate = ruletranBase;
- }
- if (RulerTranslateCombo.SelectedItem != null)
- {
- ComboBoxItem checkItem = RulerTranslateCombo.SelectedItem as ComboBoxItem;
- MeasureSetting.RulerTranslateUnit = checkItem.Content.ToString();
- }
- if (PrecisionBox.SelectedValue!=null)
- {
- ComboBoxItem checkItem = PrecisionBox.SelectedValue as ComboBoxItem;
- if (double.TryParse(checkItem.Content.ToString(), out double precision))
- {
- MeasureSetting.Precision = precision;
- }
- }
- }
- }
- }
|