Kayna臒a G枚zat

淇鏍囬鏍 - 缂撳瓨鍏冪礌寮曠敤閬垮厤閲嶅閬嶅巻

纾 鏇 6 g眉n 枚nce
ebeveyn
i艧leme
543e5bdce6

+ 29 - 12
src/YZWater.Avalonia/Views/ViewAView.axaml.cs

@@ -6,11 +6,18 @@ namespace YZWater.Avalonia.Views;
 
 public partial class ViewAView : UserControl
 {
+    private Border? _titleBar;
+    private Border? _statusBar;
+    private Border? _rootBorder;
+    private TextBlock? _titleText;
+    private TextBlock? _subtitleText;
+
     public ViewAView()
     {
         InitializeComponent();
         AttachedToVisualTree += (_, _) =>
         {
+            FindElements();
             ApplyTheme();
             ThemeHelper.ThemeChanged += ApplyTheme;
         };
@@ -20,20 +27,30 @@ public partial class ViewAView : UserControl
         };
     }
 
-    private void ApplyTheme()
+    private void FindElements()
     {
-        foreach (var visual in this.GetVisualDescendants())
+        foreach (var v in this.GetVisualDescendants())
         {
-            if (visual is Border border && border.Name == "TitleBar")
-                border.Background = ThemeHelper.HeaderBg;
-            else if (visual is Border sb && sb.Name == "StatusBar")
-                sb.Background = ThemeHelper.NavBg;
-            else if (visual is Border rb && rb.Name == "RootBorder")
-                rb.Background = ThemeHelper.AppBg;
-            else if (visual is TextBlock tb && tb.Name == "TitleText")
-                tb.Foreground = ThemeHelper.HeaderText;
-            else if (visual is TextBlock stb && stb.Name == "SubtitleText")
-                stb.Foreground = ThemeHelper.HeaderSubtext;
+            if (v is Border b)
+            {
+                if (b.Name == "TitleBar") _titleBar = b;
+                else if (b.Name == "StatusBar") _statusBar = b;
+                else if (b.Name == "RootBorder") _rootBorder = b;
+            }
+            else if (v is TextBlock tb)
+            {
+                if (tb.Name == "TitleText") _titleText = tb;
+                else if (tb.Name == "SubtitleText") _subtitleText = tb;
+            }
         }
     }
+
+    private void ApplyTheme()
+    {
+        if (_titleBar != null) _titleBar.Background = ThemeHelper.HeaderBg;
+        if (_statusBar != null) _statusBar.Background = ThemeHelper.NavBg;
+        if (_rootBorder != null) _rootBorder.Background = ThemeHelper.AppBg;
+        if (_titleText != null) _titleText.Foreground = ThemeHelper.HeaderText;
+        if (_subtitleText != null) _subtitleText.Foreground = ThemeHelper.HeaderSubtext;
+    }
 }

+ 29 - 12
src/YZWater.Avalonia/Views/ViewBView.axaml.cs

@@ -6,11 +6,18 @@ namespace YZWater.Avalonia.Views;
 
 public partial class ViewBView : UserControl
 {
+    private Border? _titleBar;
+    private Border? _statusBar;
+    private Border? _rootBorder;
+    private TextBlock? _titleText;
+    private TextBlock? _subtitleText;
+
     public ViewBView()
     {
         InitializeComponent();
         AttachedToVisualTree += (_, _) =>
         {
+            FindElements();
             ApplyTheme();
             ThemeHelper.ThemeChanged += ApplyTheme;
         };
@@ -20,20 +27,30 @@ public partial class ViewBView : UserControl
         };
     }
 
-    private void ApplyTheme()
+    private void FindElements()
     {
-        foreach (var visual in this.GetVisualDescendants())
+        foreach (var v in this.GetVisualDescendants())
         {
-            if (visual is Border border && border.Name == "TitleBar")
-                border.Background = ThemeHelper.HeaderBg;
-            else if (visual is Border sb && sb.Name == "StatusBar")
-                sb.Background = ThemeHelper.NavBg;
-            else if (visual is Border rb && rb.Name == "RootBorder")
-                rb.Background = ThemeHelper.AppBg;
-            else if (visual is TextBlock tb && tb.Name == "TitleText")
-                tb.Foreground = ThemeHelper.HeaderText;
-            else if (visual is TextBlock stb && stb.Name == "SubtitleText")
-                stb.Foreground = ThemeHelper.HeaderSubtext;
+            if (v is Border b)
+            {
+                if (b.Name == "TitleBar") _titleBar = b;
+                else if (b.Name == "StatusBar") _statusBar = b;
+                else if (b.Name == "RootBorder") _rootBorder = b;
+            }
+            else if (v is TextBlock tb)
+            {
+                if (tb.Name == "TitleText") _titleText = tb;
+                else if (tb.Name == "SubtitleText") _subtitleText = tb;
+            }
         }
     }
+
+    private void ApplyTheme()
+    {
+        if (_titleBar != null) _titleBar.Background = ThemeHelper.HeaderBg;
+        if (_statusBar != null) _statusBar.Background = ThemeHelper.NavBg;
+        if (_rootBorder != null) _rootBorder.Background = ThemeHelper.AppBg;
+        if (_titleText != null) _titleText.Foreground = ThemeHelper.HeaderText;
+        if (_subtitleText != null) _subtitleText.Foreground = ThemeHelper.HeaderSubtext;
+    }
 }

+ 29 - 12
src/YZWater.Avalonia/Views/ViewCView.axaml.cs

@@ -6,11 +6,18 @@ namespace YZWater.Avalonia.Views;
 
 public partial class ViewCView : UserControl
 {
+    private Border? _titleBar;
+    private Border? _statusBar;
+    private Border? _rootBorder;
+    private TextBlock? _titleText;
+    private TextBlock? _subtitleText;
+
     public ViewCView()
     {
         InitializeComponent();
         AttachedToVisualTree += (_, _) =>
         {
+            FindElements();
             ApplyTheme();
             ThemeHelper.ThemeChanged += ApplyTheme;
         };
@@ -20,20 +27,30 @@ public partial class ViewCView : UserControl
         };
     }
 
-    private void ApplyTheme()
+    private void FindElements()
     {
-        foreach (var visual in this.GetVisualDescendants())
+        foreach (var v in this.GetVisualDescendants())
         {
-            if (visual is Border border && border.Name == "TitleBar")
-                border.Background = ThemeHelper.HeaderBg;
-            else if (visual is Border sb && sb.Name == "StatusBar")
-                sb.Background = ThemeHelper.NavBg;
-            else if (visual is Border rb && rb.Name == "RootBorder")
-                rb.Background = ThemeHelper.AppBg;
-            else if (visual is TextBlock tb && tb.Name == "TitleText")
-                tb.Foreground = ThemeHelper.HeaderText;
-            else if (visual is TextBlock stb && stb.Name == "SubtitleText")
-                stb.Foreground = ThemeHelper.HeaderSubtext;
+            if (v is Border b)
+            {
+                if (b.Name == "TitleBar") _titleBar = b;
+                else if (b.Name == "StatusBar") _statusBar = b;
+                else if (b.Name == "RootBorder") _rootBorder = b;
+            }
+            else if (v is TextBlock tb)
+            {
+                if (tb.Name == "TitleText") _titleText = tb;
+                else if (tb.Name == "SubtitleText") _subtitleText = tb;
+            }
         }
     }
+
+    private void ApplyTheme()
+    {
+        if (_titleBar != null) _titleBar.Background = ThemeHelper.HeaderBg;
+        if (_statusBar != null) _statusBar.Background = ThemeHelper.NavBg;
+        if (_rootBorder != null) _rootBorder.Background = ThemeHelper.AppBg;
+        if (_titleText != null) _titleText.Foreground = ThemeHelper.HeaderText;
+        if (_subtitleText != null) _subtitleText.Foreground = ThemeHelper.HeaderSubtext;
+    }
 }

+ 29 - 12
src/YZWater.Avalonia/Views/ViewDView.axaml.cs

@@ -6,11 +6,18 @@ namespace YZWater.Avalonia.Views;
 
 public partial class ViewDView : UserControl
 {
+    private Border? _titleBar;
+    private Border? _statusBar;
+    private Border? _rootBorder;
+    private TextBlock? _titleText;
+    private TextBlock? _subtitleText;
+
     public ViewDView()
     {
         InitializeComponent();
         AttachedToVisualTree += (_, _) =>
         {
+            FindElements();
             ApplyTheme();
             ThemeHelper.ThemeChanged += ApplyTheme;
         };
@@ -20,20 +27,30 @@ public partial class ViewDView : UserControl
         };
     }
 
-    private void ApplyTheme()
+    private void FindElements()
     {
-        foreach (var visual in this.GetVisualDescendants())
+        foreach (var v in this.GetVisualDescendants())
         {
-            if (visual is Border border && border.Name == "TitleBar")
-                border.Background = ThemeHelper.HeaderBg;
-            else if (visual is Border sb && sb.Name == "StatusBar")
-                sb.Background = ThemeHelper.NavBg;
-            else if (visual is Border rb && rb.Name == "RootBorder")
-                rb.Background = ThemeHelper.AppBg;
-            else if (visual is TextBlock tb && tb.Name == "TitleText")
-                tb.Foreground = ThemeHelper.HeaderText;
-            else if (visual is TextBlock stb && stb.Name == "SubtitleText")
-                stb.Foreground = ThemeHelper.HeaderSubtext;
+            if (v is Border b)
+            {
+                if (b.Name == "TitleBar") _titleBar = b;
+                else if (b.Name == "StatusBar") _statusBar = b;
+                else if (b.Name == "RootBorder") _rootBorder = b;
+            }
+            else if (v is TextBlock tb)
+            {
+                if (tb.Name == "TitleText") _titleText = tb;
+                else if (tb.Name == "SubtitleText") _subtitleText = tb;
+            }
         }
     }
+
+    private void ApplyTheme()
+    {
+        if (_titleBar != null) _titleBar.Background = ThemeHelper.HeaderBg;
+        if (_statusBar != null) _statusBar.Background = ThemeHelper.NavBg;
+        if (_rootBorder != null) _rootBorder.Background = ThemeHelper.AppBg;
+        if (_titleText != null) _titleText.Foreground = ThemeHelper.HeaderText;
+        if (_subtitleText != null) _subtitleText.Foreground = ThemeHelper.HeaderSubtext;
+    }
 }

+ 29 - 12
src/YZWater.Avalonia/Views/ViewEView.axaml.cs

@@ -6,11 +6,18 @@ namespace YZWater.Avalonia.Views;
 
 public partial class ViewEView : UserControl
 {
+    private Border? _titleBar;
+    private Border? _statusBar;
+    private Border? _rootBorder;
+    private TextBlock? _titleText;
+    private TextBlock? _subtitleText;
+
     public ViewEView()
     {
         InitializeComponent();
         AttachedToVisualTree += (_, _) =>
         {
+            FindElements();
             ApplyTheme();
             ThemeHelper.ThemeChanged += ApplyTheme;
         };
@@ -20,20 +27,30 @@ public partial class ViewEView : UserControl
         };
     }
 
-    private void ApplyTheme()
+    private void FindElements()
     {
-        foreach (var visual in this.GetVisualDescendants())
+        foreach (var v in this.GetVisualDescendants())
         {
-            if (visual is Border border && border.Name == "TitleBar")
-                border.Background = ThemeHelper.HeaderBg;
-            else if (visual is Border sb && sb.Name == "StatusBar")
-                sb.Background = ThemeHelper.NavBg;
-            else if (visual is Border rb && rb.Name == "RootBorder")
-                rb.Background = ThemeHelper.AppBg;
-            else if (visual is TextBlock tb && tb.Name == "TitleText")
-                tb.Foreground = ThemeHelper.HeaderText;
-            else if (visual is TextBlock stb && stb.Name == "SubtitleText")
-                stb.Foreground = ThemeHelper.HeaderSubtext;
+            if (v is Border b)
+            {
+                if (b.Name == "TitleBar") _titleBar = b;
+                else if (b.Name == "StatusBar") _statusBar = b;
+                else if (b.Name == "RootBorder") _rootBorder = b;
+            }
+            else if (v is TextBlock tb)
+            {
+                if (tb.Name == "TitleText") _titleText = tb;
+                else if (tb.Name == "SubtitleText") _subtitleText = tb;
+            }
         }
     }
+
+    private void ApplyTheme()
+    {
+        if (_titleBar != null) _titleBar.Background = ThemeHelper.HeaderBg;
+        if (_statusBar != null) _statusBar.Background = ThemeHelper.NavBg;
+        if (_rootBorder != null) _rootBorder.Background = ThemeHelper.AppBg;
+        if (_titleText != null) _titleText.Foreground = ThemeHelper.HeaderText;
+        if (_subtitleText != null) _subtitleText.Foreground = ThemeHelper.HeaderSubtext;
+    }
 }