Ver Fonte

feat(ui): 密码弹窗切换图标为SVG以优化显示

替换字体图标为自定义SVG路径,解决Segoe MDL2 Assets渲染兼容性问题,提升图标清晰度与一致性。
yangkaixiang há 1 mês atrás
pai
commit
3fae2b2fe8

+ 1 - 1
windows/NetTool.Client/NetTool.Client.csproj

@@ -8,7 +8,7 @@
     <UseWPF>true</UseWPF>
     <AssemblyName>NetTool.Client</AssemblyName>
     <RootNamespace>NetTool.Client</RootNamespace>
-    <InformationalVersion>2026.05.15.1818</InformationalVersion>
+    <InformationalVersion>2026.05.15.1834</InformationalVersion>
   </PropertyGroup>
 
 </Project>

+ 24 - 4
windows/NetTool.Client/PasswordPromptWindow.xaml

@@ -39,12 +39,32 @@
                     Background="Transparent"
                     BorderThickness="0"
                     Click="TogglePasswordVisibilityButton_OnClick"
-                    Content="&#xED1A;"
                     Cursor="Hand"
-                    FontFamily="Segoe MDL2 Assets"
-                    FontSize="14"
                     Foreground="#6B7280"
-                    ToolTip="查看密码" />
+                    ToolTip="查看密码">
+                <Grid Width="16"
+                      Height="16">
+                    <Viewbox x:Name="ShowPasswordIcon"
+                             Stretch="Uniform">
+                        <Canvas Width="1024"
+                                Height="1024">
+                            <Path Data="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"
+                                  Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=Button}}" />
+                        </Canvas>
+                    </Viewbox>
+                    <Viewbox x:Name="HidePasswordIcon"
+                             Stretch="Uniform"
+                             Visibility="Collapsed">
+                        <Canvas Width="1024"
+                                Height="1024">
+                            <Path Data="M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"
+                                  Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=Button}}" />
+                            <Path Data="M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"
+                                  Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=Button}}" />
+                        </Canvas>
+                    </Viewbox>
+                </Grid>
+            </Button>
         </Grid>
 
         <Button x:Name="ClearPasswordButton"

+ 4 - 2
windows/NetTool.Client/PasswordPromptWindow.xaml.cs

@@ -55,7 +55,8 @@ public partial class PasswordPromptWindow : Window
             PasswordTextBox.Text = PasswordBox.Password;
             PasswordTextBox.Visibility = Visibility.Visible;
             PasswordBox.Visibility = Visibility.Collapsed;
-            TogglePasswordVisibilityButton.Content = "\ue7b3";
+            ShowPasswordIcon.Visibility = Visibility.Collapsed;
+            HidePasswordIcon.Visibility = Visibility.Visible;
             TogglePasswordVisibilityButton.ToolTip = "隐藏密码";
             PasswordTextBox.Focus();
             PasswordTextBox.CaretIndex = PasswordTextBox.Text.Length;
@@ -65,7 +66,8 @@ public partial class PasswordPromptWindow : Window
         PasswordBox.Password = PasswordTextBox.Text;
         PasswordBox.Visibility = Visibility.Visible;
         PasswordTextBox.Visibility = Visibility.Collapsed;
-        TogglePasswordVisibilityButton.Content = "\uED1A";
+        ShowPasswordIcon.Visibility = Visibility.Visible;
+        HidePasswordIcon.Visibility = Visibility.Collapsed;
         TogglePasswordVisibilityButton.ToolTip = "查看密码";
         PasswordBox.Focus();
     }