71 lines
1.7 KiB
C#
71 lines
1.7 KiB
C#
using Microsoft.UI;
|
|
using Microsoft.UI.Windowing;
|
|
using Microsoft.UI.Xaml;
|
|
using Microsoft.UI.Xaml.Controls;
|
|
using Microsoft.UI.Xaml.Controls.Primitives;
|
|
using Microsoft.UI.Xaml.Data;
|
|
using Microsoft.UI.Xaml.Input;
|
|
using Microsoft.UI.Xaml.Media;
|
|
using Microsoft.UI.Xaml.Navigation;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices.WindowsRuntime;
|
|
using VDownload.Core.ViewModels;
|
|
using Windows.Foundation;
|
|
using Windows.Foundation.Collections;
|
|
|
|
namespace VDownload.Core.Views
|
|
{
|
|
public sealed partial class BaseWindow : Window
|
|
{
|
|
#region PROPERTIES
|
|
|
|
public XamlRoot XamlRoot => this.Root.XamlRoot;
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region EVENTS
|
|
|
|
public event EventHandler RootLoaded;
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region CONSTRUCTORS
|
|
|
|
public BaseWindow(BaseViewModel viewModel)
|
|
{
|
|
this.InitializeComponent();
|
|
this.Activated += BaseWindow_Activated;
|
|
|
|
this.ExtendsContentIntoTitleBar = true;
|
|
this.SetTitleBar(this.AppTitleBar);
|
|
|
|
this.Root.DataContext = viewModel;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region PRIVATE METHODS
|
|
|
|
private void Root_Loaded(object sender, RoutedEventArgs e) => RootLoaded?.Invoke(this, EventArgs.Empty);
|
|
|
|
private void BaseWindow_Activated(object sender, WindowActivatedEventArgs args)
|
|
{
|
|
IntPtr windowHandle = WinRT.Interop.WindowNative.GetWindowHandle(this);
|
|
WindowId windowId = Win32Interop.GetWindowIdFromWindow(windowHandle);
|
|
AppWindow appWindow = AppWindow.GetFromWindowId(windowId);
|
|
appWindow.SetIcon(@"Assets\Logo\Logo.ico");
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|