|
@@ -1,5 +1,4 @@
|
|
|
using Avalonia.Controls;
|
|
using Avalonia.Controls;
|
|
|
-using Avalonia.VisualTree;
|
|
|
|
|
using YZWater.Avalonia.Controls;
|
|
using YZWater.Avalonia.Controls;
|
|
|
|
|
|
|
|
namespace YZWater.Avalonia.Views;
|
|
namespace YZWater.Avalonia.Views;
|
|
@@ -9,24 +8,21 @@ public partial class ViewBView : UserControl
|
|
|
public ViewBView()
|
|
public ViewBView()
|
|
|
{
|
|
{
|
|
|
InitializeComponent();
|
|
InitializeComponent();
|
|
|
- AttachedToVisualTree += (_, _) =>
|
|
|
|
|
|
|
+ Loaded += (_, _) =>
|
|
|
{
|
|
{
|
|
|
- foreach (var v in this.GetVisualDescendants())
|
|
|
|
|
- {
|
|
|
|
|
- if (v is Border b && b.Name == "TitleBar") b.Background = ThemeHelper.HeaderBg;
|
|
|
|
|
- else if (v is Border b2 && b2.Name == "StatusBar") b2.Background = ThemeHelper.NavBg;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ ApplyTheme();
|
|
|
ThemeHelper.ThemeChanged += ApplyTheme;
|
|
ThemeHelper.ThemeChanged += ApplyTheme;
|
|
|
};
|
|
};
|
|
|
- DetachedFromVisualTree += (_, _) => ThemeHelper.ThemeChanged -= ApplyTheme;
|
|
|
|
|
|
|
+ Unloaded += (_, _) => ThemeHelper.ThemeChanged -= ApplyTheme;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ApplyTheme()
|
|
private void ApplyTheme()
|
|
|
{
|
|
{
|
|
|
- foreach (var v in this.GetVisualDescendants())
|
|
|
|
|
- {
|
|
|
|
|
- if (v is Border b && b.Name == "TitleBar") b.Background = ThemeHelper.HeaderBg;
|
|
|
|
|
- else if (v is Border b2 && b2.Name == "StatusBar") b2.Background = ThemeHelper.NavBg;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (this.FindControl<Border>("TitleBar") is Border titleBar)
|
|
|
|
|
+ titleBar.Background = ThemeHelper.HeaderBg;
|
|
|
|
|
+ if (this.FindControl<Border>("StatusBar") is Border statusBar)
|
|
|
|
|
+ statusBar.Background = ThemeHelper.NavBg;
|
|
|
|
|
+ if (this.FindControl<Border>("RootBorder") is Border root)
|
|
|
|
|
+ root.Background = ThemeHelper.AppBg;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|