Browse Source

文本注释-下拉框选择问题

OYXH\oyxh 1 year ago
parent
commit
6792782c58

+ 60 - 3
PDF Office/Model/AnnotPanel/FontBoard.cs

@@ -373,12 +373,63 @@ namespace PDF_Master.Model.AnnotPanel
 
         #region 属性
 
+        /// <summary>
+        /// 预设样式
+        /// </summary>
         private ComboDataItem _currentPresetFont = new ComboDataItem("Custom", "Custom");
 
         public ComboDataItem CurrentPresetFont
         {
             get { return _currentPresetFont; }
-            set => SetProperty(ref _currentPresetFont, value);
+            set
+            {
+                SetProperty(ref _currentPresetFont, value);
+                switch (value.ValueStr.ToString())
+                {
+                    case "Custom":
+                        PresetFontSelectedIndex = 0;
+                        break;
+
+                    case "H1":
+                        PresetFontSelectedIndex = 1;
+                        break;
+
+                    case "H2":
+                        PresetFontSelectedIndex = 2;
+                        break;
+
+                    case "H3":
+                        PresetFontSelectedIndex = 3;
+                        break;
+
+                    case "B1":
+                        PresetFontSelectedIndex = 4;
+                        break;
+
+                    case "B2":
+                        PresetFontSelectedIndex = 5;
+                        break;
+
+                    case "B3":
+                        PresetFontSelectedIndex = 6;
+                        break;
+
+                    default:
+                        PresetFontSelectedIndex = 0;
+                        break;
+                }
+            }
+        }
+
+        private int presetFontSelectedIndex;
+
+        public int PresetFontSelectedIndex
+        {
+            get { return presetFontSelectedIndex; }
+            set
+            {
+                SetProperty(ref presetFontSelectedIndex, value);
+            }
         }
 
         #region 字体样式
@@ -397,10 +448,12 @@ namespace PDF_Master.Model.AnnotPanel
                     case "Courier New":
                         FontFamilySelectedIndex = 0;
                         break;
+
                     case "Helvetica":
                     case "Arial":
                         FontFamilySelectedIndex = 1;
                         break;
+
                     case "Times New Roman":
                         FontFamilySelectedIndex = 2;
                         break;
@@ -468,19 +521,23 @@ namespace PDF_Master.Model.AnnotPanel
         public ComboDataItem CurrrentFontWeightStyle
         {
             get { return _currrentFontWeightStyle; }
-            set {
+            set
+            {
                 SetProperty(ref _currrentFontWeightStyle, value);
                 switch (value.Content.ToString())
                 {
                     case "Regular":
                         FontStyleSelectedIndex = 0;
                         break;
+
                     case "Bold":
                         FontStyleSelectedIndex = 1;
                         break;
+
                     case "Italic":
                         FontStyleSelectedIndex = 2;
                         break;
+
                     case "Bold Italic":
                         FontStyleSelectedIndex = 3;
                         break;
@@ -594,7 +651,7 @@ namespace PDF_Master.Model.AnnotPanel
 
         public void GetCurrentFontFamily(string fontFamily, string uiStr)
         {
-            if(fontFamily == "Arial")
+            if (fontFamily == "Arial")
             {
                 fontFamily = "Helvetica";
                 uiStr = "Helvetica";

+ 1 - 0
PDF Office/Views/PropertyPanel/AnnotPanel/FreetextAnnotProperty.xaml

@@ -143,6 +143,7 @@
                         HorizontalAlignment="Left"
                         IsValueContent="True"
                         ItemSource="{Binding FontVm.PresetFontItems, Mode=OneWay}"
+                        SelectedIndex="{Binding FontVm.PresetFontSelectedIndex, Mode=TwoWay}"
                         SelectedItems="{Binding FontVm.CurrentPresetFont, Mode=TwoWay}">
                         <i:Interaction.Triggers>
                             <i:EventTrigger EventName="ValueChanged">