66 lines
1.8 KiB
C#
66 lines
1.8 KiB
C#
using C4IT.Logging;
|
|
using FasdDesktopUi.Basics.Models;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
using static C4IT.Logging.cLogManager;
|
|
|
|
namespace FasdDesktopUi.Basics.UserControls
|
|
{
|
|
public partial class BlurInvokerContainer : UserControl, IBlurInvoker
|
|
{
|
|
#region Properties
|
|
|
|
public UIElement Child
|
|
{
|
|
get { return (UIElement)GetValue(ChildProperty); }
|
|
set { SetValue(ChildProperty, value); }
|
|
}
|
|
|
|
public static readonly DependencyProperty ChildProperty =
|
|
DependencyProperty.Register("Child", typeof(UIElement), typeof(BlurInvokerContainer), new PropertyMetadata(null, new PropertyChangedCallback(ChildChanged)));
|
|
|
|
private static void ChildChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (!(d is BlurInvokerContainer _me))
|
|
return;
|
|
|
|
_me.MainDecorator.Child = _me.Child;
|
|
}
|
|
catch (Exception E)
|
|
{
|
|
LogException(E);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
public BlurInvokerContainer()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void BlurInvoker_IsActiveChanged(object sender, DependencyPropertyChangedEventArgs e)
|
|
{
|
|
BlurInvoker.InvokeVisibilityChanged(this, new EventArgs());
|
|
}
|
|
|
|
public bool BlurInvoker_IsActive => IsVisible;
|
|
|
|
}
|
|
}
|