RadWindowInteropHelper
The RadWindowInteropHelper helper class assists for the interoperation between Windows Presentation Foundation (WPF) and Win32 code.
Here is a brief list of all attached properties exposed by the class:
- ClipMaskCornerRadius: The CornerRadius used to create a clipping mask on the underlying Window.
- AllowTransparency: Gets or sets the AllowTransparency property of the underlying Window.
- OpaqueWindowBackground: The Brush used to render the Background of the underlying window if AllowTransparency is set to False.
- Title: Gets or sets the Title used to display in the OS for the underlying Window.
- Icon: Gets or sets the ImageSource used to display the Icon in the OS for the underlying Window.
- ShowInTaskbar: Gets or sets the ShowInTaskbar property of the underlying Window.
Example 1 demonstrates how to set each of the properties both in XAML and code-behind while Figure 1 and Figure 2 illustrate the final result.
Example 1: Set RadWindowInteropHelper attached properties
<telerik:RadWindow x:Class="ProjectNamespace.CustomWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:navigation="clr-namespace:Telerik.Windows.Controls.Navigation;assembly=Telerik.Windows.Controls.Navigation"
navigation:RadWindowInteropHelper.ClipMaskCornerRadius="0"
navigation:RadWindowInteropHelper.AllowTransparency="False"
navigation:RadWindowInteropHelper.OpaqueWindowBackground="Red"
navigation:RadWindowInteropHelper.Title="Custom Window"
navigation:RadWindowInteropHelper.Icon="icon.png"
navigation:RadWindowInteropHelper.ShowInTaskbar="True" >
<Grid>
<!-- ... -->
</Grid>
</telerik:RadWindow>
Example 1: Set RadWindowInteropHelper attached properties
RadWindowInteropHelper.SetClipMaskCornerRadius(this, new CornerRadius(0));
RadWindowInteropHelper.SetAllowTransparency(this, false);
RadWindowInteropHelper.SetOpaqueWindowBackground(this, Brushes.Red);
RadWindowInteropHelper.SetTitle(this, "Custom Window");
RadWindowInteropHelper.SetIcon(this, new BitmapImage(new Uri("../../icon.png", UriKind.RelativeOrAbsolute)));
RadWindowInteropHelper.SetShowInTaskbar(this, true);Figure 1: The customized RadWindow

Figure 1: The customized RadWindow's taskbar thumbnail preview

Hiding RadWindow from the Task Switcher
By default, RadWindow appears in the Windows Task Switcher (Alt+Tab menu). To hide it from the Task Switcher, create a custom class that derives from RadWindow and override the ShouldShowInTaskSwitcher virtual method to return false.
For the Task Switcher hiding to work correctly, the
ShowInTaskbarproperty of the underlying window must also be set toFalse. Use theRadWindowInteropHelper.ShowInTaskbarattached property to control this behavior.
Example 2: Create a custom RadWindow class that is hidden from the Task Switcher
public partial class CustomWindow : RadWindow
{
public CustomWindow()
{
InitializeComponent();
}
protected override bool ShouldShowInTaskSwitcher()
{
return false;
}
}The ShouldShowInTaskSwitcher method is called when the window is shown. Returning false prevents the window from appearing in the Alt+Tab menu. This approach is useful for widget-style applications where the window acts as a small, hideable overlay that does not need to be selectable through the Task Switcher.