further work to get placement in a multi mon setup working properly

This commit is contained in:
Daniel Clark
2021-03-02 20:36:14 +00:00
parent 24bdc3caa2
commit 10499366d6
5 changed files with 147 additions and 78 deletions
@@ -17,27 +17,14 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\TheXamlGuy.NotificationFlyout.Common\TheXamlGuy.NotificationFlyout.Common.csproj" />
<ProjectReference Include="..\..\src\TheXamlGuy.NotificationFlyout.Shared.UI\TheXamlGuy.NotificationFlyout.Shared.UI.csproj" />
<ProjectReference Include="..\..\src\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls.csproj" />
<ProjectReference Include="..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj" />
<ProjectReference Include="..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI\TheXamlGuy.NotificationFlyout.Wpf.UI.csproj" />
<ProjectReference Include="..\NotificationFlyoutSample\NotificationFlyoutSample.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="TheXamlGuy.NotificationFlyout.Common">
<HintPath>..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Common.dll</HintPath>
</Reference>
<Reference Include="TheXamlGuy.NotificationFlyout.Shared.UI">
<HintPath>..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Shared.UI.dll</HintPath>
</Reference>
<Reference Include="TheXamlGuy.NotificationFlyout.Uwp.UI.Controls">
<HintPath>..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls.dll</HintPath>
</Reference>
<Reference Include="TheXamlGuy.NotificationFlyout.Wpf.UI">
<HintPath>..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Wpf.UI.dll</HintPath>
</Reference>
<Reference Include="TheXamlGuy.NotificationFlyout.Wpf.UI.Controls">
<HintPath>..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<PackageReference Update="Microsoft.VCRTForwarders.140" Version="1.0.7" />
</ItemGroup>
+109 -31
View File
@@ -12,7 +12,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotificationFlyoutSample.Launcher", "NotificationFlyoutSample.Launcher\NotificationFlyoutSample.Launcher.csproj", "{5EDD254A-3F8E-4825-B806-5C230488E192}"
EndProject
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "NotificationFlyoutSample.Package", "NotificationFlyoutSample.Package\NotificationFlyoutSample.Package.wapproj", "{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Common", "..\src\TheXamlGuy.NotificationFlyout.Common\TheXamlGuy.NotificationFlyout.Common.csproj", "{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Shared.UI", "..\src\TheXamlGuy.NotificationFlyout.Shared.UI\TheXamlGuy.NotificationFlyout.Shared.UI.csproj", "{875E7116-3A9B-4CBE-B6D0-20818DB77280}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Uwp.UI.Controls", "..\src\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls.csproj", "{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Wpf.UI", "..\src\TheXamlGuy.NotificationFlyout.Wpf.UI\TheXamlGuy.NotificationFlyout.Wpf.UI.csproj", "{F6040CB8-83EE-47B9-8DD7-DF43CD555956}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Wpf.UI.Controls", "..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj", "{66433384-A10C-44A5-B734-400990A569F0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -75,36 +83,106 @@ Global
{5EDD254A-3F8E-4825-B806-5C230488E192}.Release|x64.Build.0 = Release|x64
{5EDD254A-3F8E-4825-B806-5C230488E192}.Release|x86.ActiveCfg = Release|Any CPU
{5EDD254A-3F8E-4825-B806-5C230488E192}.Release|x86.Build.0 = Release|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|ARM.ActiveCfg = Debug|ARM
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|ARM.Build.0 = Debug|ARM
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|ARM.Deploy.0 = Debug|ARM
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|ARM64.Build.0 = Debug|ARM64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|ARM64.Deploy.0 = Debug|ARM64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|x64.ActiveCfg = Debug|x64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|x64.Build.0 = Debug|x64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|x64.Deploy.0 = Debug|x64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|x86.ActiveCfg = Debug|x86
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|x86.Build.0 = Debug|x86
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Debug|x86.Deploy.0 = Debug|x86
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|Any CPU.Build.0 = Release|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|Any CPU.Deploy.0 = Release|Any CPU
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|ARM.ActiveCfg = Release|ARM
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|ARM.Build.0 = Release|ARM
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|ARM.Deploy.0 = Release|ARM
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|ARM64.ActiveCfg = Release|ARM64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|ARM64.Build.0 = Release|ARM64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|ARM64.Deploy.0 = Release|ARM64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|x64.ActiveCfg = Release|x64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|x64.Build.0 = Release|x64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|x64.Deploy.0 = Release|x64
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|x86.ActiveCfg = Release|x86
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|x86.Build.0 = Release|x86
{FAA7E8E0-032D-4C2A-BAB6-6E0EED3D5A6D}.Release|x86.Deploy.0 = Release|x86
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|ARM.Build.0 = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|ARM64.Build.0 = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|x64.ActiveCfg = Debug|x64
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|x64.Build.0 = Debug|x64
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|x86.ActiveCfg = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Debug|x86.Build.0 = Debug|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|Any CPU.Build.0 = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|ARM.ActiveCfg = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|ARM.Build.0 = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|ARM64.ActiveCfg = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|ARM64.Build.0 = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|x64.ActiveCfg = Release|x64
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|x64.Build.0 = Release|x64
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|x86.ActiveCfg = Release|Any CPU
{5EE122E5-AFD9-4B03-A98D-34CBB0B3B3F0}.Release|x86.Build.0 = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|Any CPU.Build.0 = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|ARM.ActiveCfg = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|ARM.Build.0 = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|ARM64.Build.0 = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|x64.ActiveCfg = Debug|x64
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|x64.Build.0 = Debug|x64
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|x86.ActiveCfg = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Debug|x86.Build.0 = Debug|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|Any CPU.ActiveCfg = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|Any CPU.Build.0 = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|ARM.ActiveCfg = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|ARM.Build.0 = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|ARM64.ActiveCfg = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|ARM64.Build.0 = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|x64.ActiveCfg = Release|x64
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|x64.Build.0 = Release|x64
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|x86.ActiveCfg = Release|Any CPU
{875E7116-3A9B-4CBE-B6D0-20818DB77280}.Release|x86.Build.0 = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|ARM.ActiveCfg = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|ARM.Build.0 = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|ARM64.Build.0 = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|x64.ActiveCfg = Debug|x64
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|x64.Build.0 = Debug|x64
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|x86.ActiveCfg = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Debug|x86.Build.0 = Debug|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|Any CPU.Build.0 = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|ARM.ActiveCfg = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|ARM.Build.0 = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|ARM64.ActiveCfg = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|ARM64.Build.0 = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|x64.ActiveCfg = Release|x64
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|x64.Build.0 = Release|x64
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|x86.ActiveCfg = Release|Any CPU
{0C268B32-CED0-4F79-9CB0-B7AE84BE9EC8}.Release|x86.Build.0 = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|ARM.Build.0 = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|ARM64.Build.0 = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|x64.ActiveCfg = Debug|x64
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|x64.Build.0 = Debug|x64
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|x86.ActiveCfg = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Debug|x86.Build.0 = Debug|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|Any CPU.Build.0 = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|ARM.ActiveCfg = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|ARM.Build.0 = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|ARM64.ActiveCfg = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|ARM64.Build.0 = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|x64.ActiveCfg = Release|x64
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|x64.Build.0 = Release|x64
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|x86.ActiveCfg = Release|Any CPU
{F6040CB8-83EE-47B9-8DD7-DF43CD555956}.Release|x86.Build.0 = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|ARM.Build.0 = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|ARM64.Build.0 = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|x64.ActiveCfg = Debug|x64
{66433384-A10C-44A5-B734-400990A569F0}.Debug|x64.Build.0 = Debug|x64
{66433384-A10C-44A5-B734-400990A569F0}.Debug|x86.ActiveCfg = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Debug|x86.Build.0 = Debug|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|Any CPU.Build.0 = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|ARM.ActiveCfg = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|ARM.Build.0 = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|ARM64.ActiveCfg = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|ARM64.Build.0 = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|x64.ActiveCfg = Release|x64
{66433384-A10C-44A5-B734-400990A569F0}.Release|x64.Build.0 = Release|x64
{66433384-A10C-44A5-B734-400990A569F0}.Release|x86.ActiveCfg = Release|Any CPU
{66433384-A10C-44A5-B734-400990A569F0}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -251,7 +251,7 @@ namespace TheXamlGuy.NotificationFlyout.Uwp.UI.Controls
_backgroundElement.Shadow = new ThemeShadow();
var currentTranslation = _backgroundElement.Translation;
var translation = new Vector3(currentTranslation.X, currentTranslation.Y, 16.0f);
var translation = new Vector3(currentTranslation.X, currentTranslation.Y, 32.0f);
_backgroundElement.Translation = translation;
}
}
@@ -13,6 +13,7 @@ using System.Windows.Media;
using System.Threading.Tasks;
using Microsoft.Win32;
using System.Windows.Threading;
using System.Threading;
namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
{
@@ -118,23 +119,25 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
_isDpiChanging = true;
_notificationFlyoutXamlHost.Visibility = Visibility.Visible;
await Dispatcher.BeginInvoke(new Action(() =>
await Application.Current.Dispatcher.Invoke(async () =>
{
VisualTreeHelper.SetRootDpi(_notificationFlyoutXamlHost, args.OldDpi);
}), DispatcherPriority.ContextIdle, null);
_notificationFlyoutXamlHost.Visibility = Visibility.Visible;
await Dispatcher.BeginInvoke(new Action(() =>
{
VisualTreeHelper.SetRootDpi(_notificationFlyoutXamlHost, args.OldDpi);
}), DispatcherPriority.ContextIdle, null);
await Dispatcher.BeginInvoke(new Action(() =>
{
VisualTreeHelper.SetRootDpi(_notificationFlyoutXamlHost, args.NewDpi);
}), DispatcherPriority.ContextIdle, null);
await Dispatcher.BeginInvoke(new Action(() =>
{
VisualTreeHelper.SetRootDpi(_notificationFlyoutXamlHost, args.NewDpi);
}), DispatcherPriority.ContextIdle, null);
await Dispatcher.BeginInvoke(new Action(() =>
{
_notificationFlyoutXamlHost.Visibility = Visibility.Hidden;
_isDpiChanging = false;
}), DispatcherPriority.ContextIdle, null);
await Dispatcher.BeginInvoke(new Action(() =>
{
_notificationFlyoutXamlHost.Visibility = Visibility.Hidden;
_isDpiChanging = false;
}), DispatcherPriority.ContextIdle, null);
});
UpdateIcons();
}
@@ -178,6 +181,7 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
_notificationFlyoutXamlHost.Show();
}
private void ShowContextMenu()
{
var dpiX = _notificationFlyoutXamlHost.DpiX();
@@ -191,16 +195,16 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
{
if (Flyout == null) return;
var dpiX = _notificationFlyoutXamlHost.DpiX();
var dpiY = _notificationFlyoutXamlHost.DpiY();
var taskbarState = _taskbarHelper.GetCurrentState();
_notificationFlyoutXamlHost.Left = taskbarState.Screen.Bounds.Left;
_notificationFlyoutXamlHost.Top = taskbarState.Screen.Bounds.Top;
_notificationFlyoutXamlHost.Left = taskbarState.Screen.Bounds.Left / dpiX; ;
_notificationFlyoutXamlHost.Top = 0;
double horizontalOffset;
double verticalOffset;
var dpiX = _notificationFlyoutXamlHost.DpiX();
var dpiY = _notificationFlyoutXamlHost.DpiY();
var workingAreaHeight = taskbarState.Screen.WorkingArea.Height / dpiX;
var workingAreaWidth = taskbarState.Screen.WorkingArea.Width / dpiY;
@@ -209,26 +213,26 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
{
case TaskbarPlacement.Left:
flyoutTaskBarPlacement = NotificationFlyoutTaskbarPlacement.Left;
verticalOffset = taskbarState.Rect.Bottom / dpiX;
horizontalOffset = taskbarState.Rect.Right / dpiY;
verticalOffset = taskbarState.Screen.WorkingArea.Height / dpiX;
horizontalOffset = taskbarState.Rect.Width / dpiY;
break;
case TaskbarPlacement.Top:
flyoutTaskBarPlacement = NotificationFlyoutTaskbarPlacement.Top;
verticalOffset = taskbarState.Rect.Bottom / dpiX;
horizontalOffset = (_notificationFlyoutXamlHost.FlowDirection == FlowDirection.RightToLeft ? taskbarState.Rect.Left : taskbarState.Rect.Right) / dpiY;
verticalOffset = taskbarState.Rect.Height / dpiX;
horizontalOffset = (_notificationFlyoutXamlHost.FlowDirection == FlowDirection.RightToLeft ? 0 : taskbarState.Screen.WorkingArea.Width) / dpiY;
break;
case TaskbarPlacement.Right:
flyoutTaskBarPlacement = NotificationFlyoutTaskbarPlacement.Right;
verticalOffset = taskbarState.Rect.Bottom / dpiX;
horizontalOffset = taskbarState.Rect.Left / dpiY;
verticalOffset = taskbarState.Screen.WorkingArea.Height / dpiX;
horizontalOffset = taskbarState.Screen.WorkingArea.Width / dpiY;
break;
case TaskbarPlacement.Bottom:
flyoutTaskBarPlacement = NotificationFlyoutTaskbarPlacement.Bottom;
verticalOffset = taskbarState.Rect.Top / dpiX;
horizontalOffset = (_notificationFlyoutXamlHost.FlowDirection == FlowDirection.RightToLeft ? taskbarState.Rect.Left : taskbarState.Rect.Right) / dpiY;
verticalOffset = taskbarState.Screen.WorkingArea.Height / dpiX;
horizontalOffset = (_notificationFlyoutXamlHost.FlowDirection == FlowDirection.RightToLeft ? 0 : taskbarState.Screen.WorkingArea.Width) / dpiY;
break;
default:
@@ -31,7 +31,7 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
WindowStyle = WindowStyle.None;
ResizeMode = ResizeMode.NoResize;
AllowsTransparency = true;
Background = new SolidColorBrush(Colors.Red);
Background = new SolidColorBrush(Colors.Transparent);
Height = WindowSize;
Width = WindowSize;
}