28 lines
897 B
C#
28 lines
897 B
C#
using System;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
using System.Windows.Interop;
|
|
using HandyControl.Tools.Interop;
|
|
|
|
namespace HandyControl.Interactivity
|
|
{
|
|
public class PushMainWindow2TopCommand : ICommand
|
|
{
|
|
public bool CanExecute(object parameter) => true;
|
|
|
|
public void Execute(object parameter)
|
|
{
|
|
if (Application.Current.MainWindow != null && Application.Current.MainWindow.Visibility != Visibility.Visible)
|
|
{
|
|
Application.Current.MainWindow.Show();
|
|
var hwndSource = (HwndSource)PresentationSource.FromDependencyObject(Application.Current.MainWindow);
|
|
if (hwndSource != null)
|
|
{
|
|
UnsafeNativeMethods.SetForegroundWindow(hwndSource.Handle);
|
|
}
|
|
}
|
|
}
|
|
|
|
public event EventHandler CanExecuteChanged;
|
|
}
|
|
} |