-
Notifications
You must be signed in to change notification settings - Fork 21
Home
Welcome to the BlurryControls wiki!
The BlurryControls library is meant to give your application a blurry look as it is known from the AeroGlass design.
- BlurryWindow: you can inherit from BlurryWindow to create a blurry window
- BlurryTray: you can inherit from BlurryTray to create a control which appears (by default) in the bottom right corner of your workspace, it is a convinient way to implement a control invoked by a tray icon (comes with an animation)
- BlurryDialogWindow: this one can only be in invoked by BlurryMessageBox which provides functionality similar to the conventional MessageBox provided by Microsoft
- BlurryImage: a conventional WPF Image with additional functionality to blur it dynamically
In the solution you will find a project called BlurryWindowInvoker. It provides a short presentation of what the BlurryControls.dll can do.
inherits System.Windows.Window
- resize when TaskBar is not oriented bottom with a multi-monitor setup (works on primary monitor, or aero snap)
C#:
var blurryWindow = new BlurryWindow();
blurryWindow .Show();
//alternatively blurryWindow.ShowDialog() to block calling instance
Note: The usual method to invoke is StartupUri="BlurryExampleWindow.xaml"
in your App.xaml.cs
WPF:
<windows:BlurryWindow x:Class="SuperCoolExampleNamespace.BlurryExampleWindow"
xmlns:windows="clr-namespace:BlurryControls.Windows;assembly=BlurryControls"
xmlns:control="clr-namespace:SuperCoolExampleNamespace"
Strength="0.75">
<Grid x:Name="SuperCoolExampleContent">
<!-- content goes here -->
</Grid>
</windows.BlurryWindow>
Note: When applying a custom brush to the Background property, the Strength will be applied to it. The default value of Strength is 0.75
- IsResizable
- IsMenuBarVisible
- Strength
- CloseOnIconDoubleClick
C#:
var tray = new InvokedTrayWindow();
tray.Show();
Note: You can also use tray.ShowDialog
to block interaction with the calling instance as long as the BlurryControl is activated
WPF:
<windows:BlurryTray x:Class="SuperCoolExampleNamespace.BlurryExampleTray"
xmlns:windows="clr-namespace:BlurryControls.Windows;assembly=BlurryControls"
xmlns:control="clr-namespace:SuperCoolExampleNamespace"
Strength="0.75"
Duration="5"
DeactivationDuration="500">
<Grid x:Name="SuperCoolExampleContent">
<!-- content goes here -->
</Grid>
</windows.BlurryTray>
- Strength
- DeactivatesOnLostFocus
- Duration
- ActivationDuration
- DeactivationDuration
can only be in invoked by BlurryMessageBox
C#:
var mainWindow = Application.Current.MainWindow;
var messageHeaderText = "ExampleDialog";
var messageContentText = $"This is a dialog owned by {mainWindow.Title}";
var result = BlurryMessageBox.Show(mainWindow, messageContentText,
messageHeaderText, BlurryDialogButton.OkCancel, BlurryDialogIcon.Information);
switch (result)
{
case BlurryDialogResult.Ok:
Debug.WriteLine($"The result is {BlurryDialogResult.Ok}");
break;
case BlurryDialogResult.Cancel:
Debug.WriteLine($"The result is {BlurryDialogResult.Cancel}");
break;
case BlurryDialogResult.None:
Debug.WriteLine($"The result is {BlurryDialogResult.None}");
break;
default:
throw new ArgumentOutOfRangeException();
}
Show(string messageBoxText, double strength = 0.5);
Show(string messageBoxText, string caption, double strength = 0.5);
Show(Window owner, string messageBoxText, double strength = 0.5);
Show(string messageBoxText, string caption, BlurryDialogButton button, double strength = 0.5);
Show(Window owner, string messageBoxText, string caption, double strength = 0.5);
Show(string messageBoxText, string caption, BlurryDialogButton button, BlurryDialogIcon icon, double strength = 0.5);
Show(Window owner, string messageBoxText, string caption, BlurryDialogButton button, double strength = 0.5);
Show(Window owner, string messageBoxText, string caption, BlurryDialogButton button, BlurryDialogIcon icon, double strength = 0.5);
inherits System.Windows.Controls.Image
WPF:
<windows:BlurryImage x:Name="BlurryExampleImage"
Source="../Resources/ExampleImage.jpeg"
BlurRadius="50"/>
Note: The BlurRadius property is bindable and can be adjusted dynamically
- BlurRadius