mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-29 12:43:24 +08:00
项目结构调整
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
namespace FluentTest
|
||||
{
|
||||
using System;
|
||||
using System.Windows;
|
||||
using ControlzEx.Theming;
|
||||
using Fluent;
|
||||
using MahApps.Metro.Controls;
|
||||
|
||||
public partial class MahMetroWindow : MetroWindow, IRibbonWindow
|
||||
{
|
||||
public MahMetroWindow()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
|
||||
this.TestContent.Backstage.UseHighestAvailableAdornerLayer = false;
|
||||
|
||||
this.Loaded += this.MahMetroWindow_Loaded;
|
||||
this.Closed += this.MahMetroWindow_Closed;
|
||||
}
|
||||
|
||||
private void MahMetroWindow_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.TitleBar = this.FindChild<RibbonTitleBar>("RibbonTitleBar");
|
||||
this.TitleBar.InvalidateArrange();
|
||||
this.TitleBar.UpdateLayout();
|
||||
|
||||
// We need this inside this window because MahApps.Metro is not loaded globally inside the Fluent.Ribbon Showcase application.
|
||||
// This code is not required in an application that loads the MahApps.Metro styles globally.
|
||||
ThemeManager.Current.ChangeTheme(this, ThemeManager.Current.DetectTheme(Application.Current));
|
||||
ThemeManager.Current.ThemeChanged += this.SyncThemes;
|
||||
}
|
||||
|
||||
private void SyncThemes(object sender, ThemeChangedEventArgs e)
|
||||
{
|
||||
if (e.Target == this)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ThemeManager.Current.ChangeTheme(this, e.NewTheme);
|
||||
}
|
||||
|
||||
private void MahMetroWindow_Closed(object sender, EventArgs e)
|
||||
{
|
||||
ThemeManager.Current.ThemeChanged -= this.SyncThemes;
|
||||
}
|
||||
|
||||
#region TitelBar
|
||||
|
||||
/// <summary>
|
||||
/// Gets ribbon titlebar
|
||||
/// </summary>
|
||||
public RibbonTitleBar TitleBar
|
||||
{
|
||||
get { return (RibbonTitleBar)this.GetValue(TitleBarProperty); }
|
||||
private set { this.SetValue(TitleBarPropertyKey, value); }
|
||||
}
|
||||
|
||||
// ReSharper disable once InconsistentNaming
|
||||
private static readonly DependencyPropertyKey TitleBarPropertyKey = DependencyProperty.RegisterReadOnly(nameof(TitleBar), typeof(RibbonTitleBar), typeof(MahMetroWindow), new PropertyMetadata());
|
||||
|
||||
#pragma warning disable WPF0060
|
||||
/// <summary>Identifies the <see cref="TitleBar"/> dependency property.</summary>
|
||||
public static readonly DependencyProperty TitleBarProperty = TitleBarPropertyKey.DependencyProperty;
|
||||
#pragma warning restore WPF0060
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user