Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maximized floating windows sit under the task bar #256

Merged
merged 2 commits into from
Mar 25, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -61,7 +61,6 @@ static LayoutFloatingWindowControl()
AllowsTransparencyProperty.OverrideMetadata(typeof(LayoutFloatingWindowControl), new FrameworkPropertyMetadata(false));
ContentProperty.OverrideMetadata(typeof(LayoutFloatingWindowControl), new FrameworkPropertyMetadata(null, null, CoerceContentValue));
ShowInTaskbarProperty.OverrideMetadata(typeof(LayoutFloatingWindowControl), new FrameworkPropertyMetadata(false));
WindowStyleProperty.OverrideMetadata(typeof(LayoutFloatingWindowControl), new FrameworkPropertyMetadata(WindowStyle.None));
}

protected LayoutFloatingWindowControl(ILayoutElement model)
301 changes: 153 additions & 148 deletions source/TestApp/MainWindow.xaml
Original file line number Diff line number Diff line change
@@ -1,154 +1,159 @@
<!--
************************************************************************
AvalonDock
Copyright (C) 2007-2013 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public
License (Ms-PL) as published at https://opensource.org/licenses/MS-PL
************************************************************************
************************************************************************
AvalonDock
Copyright (C) 2007-2013 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public
License (Ms-PL) as published at https://opensource.org/licenses/MS-PL
************************************************************************
-->

<Window
x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:avalonDock="https://github.com/Dirkster99/AvalonDock"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TestApp"
xmlns:winformsIntegration="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
Title="MainWindow"
Width="525"
Height="350"
UseLayoutRounding="True">
<Grid x:Name="layoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Menu Grid.Row="0">
<MenuItem Header="Edit">
<MenuItem Command="Undo" />
<MenuItem Command="Redo" />
<Separator />
<MenuItem Command="Cut" />
<MenuItem Command="Copy" />
<MenuItem Command="Paste" />
</MenuItem>
<MenuItem Header="Layout">
<MenuItem Header="Save">
<MenuItem Click="OnSaveLayout" Header="Layout_1" />
<MenuItem Click="OnSaveLayout" Header="Layout_2" />
<MenuItem Click="OnSaveLayout" Header="Layout_3" />
<MenuItem Click="OnSaveLayout" Header="Layout_4" />
</MenuItem>
<MenuItem Header="Load">
<MenuItem Click="OnLoadLayout" Header="Layout_1" />
<MenuItem Click="OnLoadLayout" Header="Layout_2" />
<MenuItem Click="OnLoadLayout" Header="Layout_3" />
<MenuItem Click="OnLoadLayout" Header="Layout_4" />
</MenuItem>
<MenuItem Click="OnDumpToConsole" Header="Dump To Console" />
<MenuItem Click="OnUnloadManager" Header="Unload Manager" />
<MenuItem Click="OnLoadManager" Header="Load Manager" />
<MenuItem Click="OnShowHeader" Header="Show header" />
</MenuItem>
<MenuItem Header="Tools">
<MenuItem Click="OnShowWinformsWindow" Header="WinForms Window" />
<MenuItem Click="OnShowToolWindow1" Header="Tool Window1" />
<MenuItem Click="OnNewFloatingWindow" Header="New floating window" />
</MenuItem>
</Menu>
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:avalonDock="https://github.com/Dirkster99/AvalonDock"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TestApp"
xmlns:winformsIntegration="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
Title="MainWindow"
Width="525"
Height="350"
UseLayoutRounding="True">
<Grid x:Name="layoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Menu Grid.Row="0">
<MenuItem Header="Edit">
<MenuItem Command="Undo" />
<MenuItem Command="Redo" />
<Separator />
<MenuItem Command="Cut" />
<MenuItem Command="Copy" />
<MenuItem Command="Paste" />
</MenuItem>
<MenuItem Header="Layout">
<MenuItem Header="Save">
<MenuItem Click="OnSaveLayout" Header="Layout_1" />
<MenuItem Click="OnSaveLayout" Header="Layout_2" />
<MenuItem Click="OnSaveLayout" Header="Layout_3" />
<MenuItem Click="OnSaveLayout" Header="Layout_4" />
</MenuItem>
<MenuItem Header="Load">
<MenuItem Click="OnLoadLayout" Header="Layout_1" />
<MenuItem Click="OnLoadLayout" Header="Layout_2" />
<MenuItem Click="OnLoadLayout" Header="Layout_3" />
<MenuItem Click="OnLoadLayout" Header="Layout_4" />
</MenuItem>
<MenuItem Click="OnDumpToConsole" Header="Dump To Console" />
<MenuItem Click="OnUnloadManager" Header="Unload Manager" />
<MenuItem Click="OnLoadManager" Header="Load Manager" />
<MenuItem Click="OnShowHeader" Header="Show header" />
</MenuItem>
<MenuItem Header="Tools">
<MenuItem Click="OnShowWinformsWindow" Header="WinForms Window" />
<MenuItem Click="OnShowToolWindow1" Header="Tool Window1" />
<MenuItem Click="OnNewFloatingWindow" Header="New floating window" />
</MenuItem>
</Menu>

<DockingManager
x:Name="dockManager"
Grid.Row="1"
AllowMixedOrientation="True"
AutoWindowSizeWhenOpened="True"
DocumentClosing="DockManager_DocumentClosing"
IsVirtualizingAnchorable="True"
IsVirtualizingDocument="True">
<DockingManager.Theme>
<Vs2013LightTheme />
</DockingManager.Theme>
<DockingManager.DocumentHeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Margin="0,0,4,0" Source="{Binding IconSource}" />
<TextBlock Text="{Binding Title}" TextTrimming="CharacterEllipsis" />
</StackPanel>
</DataTemplate>
</DockingManager.DocumentHeaderTemplate>
<LayoutRoot PropertyChanged="OnLayoutRootPropertyChanged">
<LayoutPanel Orientation="Horizontal">
<LayoutAnchorablePane DockWidth="50">
<LayoutAnchorable
x:Name="WinFormsWindow"
Title="WinForms Window"
CanClose="False"
CanHide="False"
ContentId="WinFormsWindow"
ToolTip="My WinForms Tool">
<winformsIntegration:WindowsFormsHost x:Name="winFormsHost" Background="White" />
</LayoutAnchorable>
</LayoutAnchorablePane>
<LayoutDocumentPaneGroup>
<LayoutDocumentPane x:Name="LayoutDocumentPane">
<LayoutDocument
Title="Document 1"
ContentId="document1"
IconSource="/TestApp;component/Images/alarm-clock-blue.png">
<StackPanel>
<TextBox Text="Document 1 Content" />
<Button Click="AddTwoDocuments_click" Content="Click to add 2 documents" />
</StackPanel>
</LayoutDocument>
<LayoutDocument Title="Document 2" ContentId="document2">
<TextBox
Background="Transparent"
BorderThickness="0"
Foreground="White"
Text="{Binding TestTimer, Mode=OneWay, StringFormat='Document 2 Attached to Timer ->\{0\}'}" />
</LayoutDocument>
</LayoutDocumentPane>
</LayoutDocumentPaneGroup>
<LayoutAnchorablePaneGroup DockWidth="50">
<LayoutAnchorablePane>
<LayoutAnchorable
Title="Tool Window 1"
ContentId="toolWindow1"
Hiding="OnToolWindow1Hiding">
<StackPanel MinHeight="450">
<local:TestUserControl />
<TextBox Text="{Binding TestTimer, Mode=OneWay, StringFormat='Tool Window 1 Attached to Timer ->\{0\}'}" />
</StackPanel>
</LayoutAnchorable>
<LayoutAnchorable Title="Tool Window 2" ContentId="toolWindow2">
<TextBlock Text="{Binding FocusedElement}" />
</LayoutAnchorable>
</LayoutAnchorablePane>
</LayoutAnchorablePaneGroup>
</LayoutPanel>
<DockingManager x:Name="dockManager"
Grid.Row="1"
AllowMixedOrientation="True"
AutoWindowSizeWhenOpened="True"
DocumentClosing="DockManager_DocumentClosing"
IsVirtualizingAnchorable="True"
IsVirtualizingDocument="True">
<DockingManager.Theme>
<Vs2013LightTheme />
</DockingManager.Theme>
<DockingManager.DocumentHeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Margin="0,0,4,0" Source="{Binding IconSource}" />
<TextBlock Text="{Binding Title}" TextTrimming="CharacterEllipsis" />
</StackPanel>
</DataTemplate>
</DockingManager.DocumentHeaderTemplate>
<LayoutRoot PropertyChanged="OnLayoutRootPropertyChanged">
<LayoutPanel Orientation="Horizontal">
<LayoutAnchorablePane DockWidth="50">
<LayoutAnchorable x:Name="WinFormsWindow"
Title="WinForms Window"
CanClose="False"
CanHide="False"
ContentId="WinFormsWindow"
ToolTip="My WinForms Tool">
<winformsIntegration:WindowsFormsHost x:Name="winFormsHost" Background="White" />
</LayoutAnchorable>
</LayoutAnchorablePane>
<LayoutDocumentPaneGroup>
<LayoutDocumentPane x:Name="LayoutDocumentPane">
<LayoutDocument
Title="Document 1"
ContentId="document1"
IconSource="/TestApp;component/Images/alarm-clock-blue.png">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button
Height="28"
VerticalAlignment="Top"
Click="AddTwoDocuments_click"
Content="Click to add 2 documents" />
<TextBox Grid.Row="1" Text="Document 1 Content" />
</Grid>
</LayoutDocument>
<LayoutDocument Title="Document 2" ContentId="document2">
<TextBox
Background="Transparent"
BorderThickness="0"
Foreground="White"
Text="{Binding TestTimer, Mode=OneWay, StringFormat='Document 2 Attached to Timer ->\{0\}'}" />
</LayoutDocument>
</LayoutDocumentPane>
</LayoutDocumentPaneGroup>
<LayoutAnchorablePaneGroup DockWidth="50">
<LayoutAnchorablePane>
<LayoutAnchorable
Title="Tool Window 1"
ContentId="toolWindow1"
Hiding="OnToolWindow1Hiding">
<StackPanel MinHeight="450">
<local:TestUserControl />
<TextBox Text="{Binding TestTimer, Mode=OneWay, StringFormat='Tool Window 1 Attached to Timer ->\{0\}'}" />
</StackPanel>
</LayoutAnchorable>
<LayoutAnchorable Title="Tool Window 2" ContentId="toolWindow2">
<TextBlock Text="{Binding FocusedElement}" />
</LayoutAnchorable>
</LayoutAnchorablePane>
</LayoutAnchorablePaneGroup>
</LayoutPanel>

<LayoutRoot.LeftSide>
<LayoutAnchorSide>
<LayoutAnchorGroup>
<LayoutAnchorable
Title="AutoHide1 Content"
ContentId="AutoHide1Content"
IconSource="/TestApp;component/Images/address-book--pencil.png">
<TextBox Text="{Binding TestTimer, Mode=OneWay, StringFormat='AutoHide Attached to Timer ->\{0\}'}" />
</LayoutAnchorable>
<LayoutAnchorable Title="AutoHide2 Content" ContentId="AutoHide2Content">
<StackPanel Orientation="Vertical">
<TextBox />
<TextBox />
</StackPanel>
</LayoutAnchorable>
</LayoutAnchorGroup>
</LayoutAnchorSide>
</LayoutRoot.LeftSide>
</LayoutRoot>
</DockingManager>
</Grid>
<LayoutRoot.LeftSide>
<LayoutAnchorSide>
<LayoutAnchorGroup>
<LayoutAnchorable
Title="AutoHide1 Content"
ContentId="AutoHide1Content"
IconSource="/TestApp;component/Images/address-book--pencil.png">
<TextBox Text="{Binding TestTimer, Mode=OneWay, StringFormat='AutoHide Attached to Timer ->\{0\}'}" />
</LayoutAnchorable>
<LayoutAnchorable Title="AutoHide2 Content" ContentId="AutoHide2Content">
<StackPanel Orientation="Vertical">
<TextBox />
<TextBox />
</StackPanel>
</LayoutAnchorable>
</LayoutAnchorGroup>
</LayoutAnchorSide>
</LayoutRoot.LeftSide>
</LayoutRoot>
</DockingManager>
</Grid>
</Window>