diff --git a/samples/NotificationFlyoutSample.Launcher/NotificationFlyoutSample.Launcher.csproj b/samples/NotificationFlyoutSample.Launcher/NotificationFlyoutSample.Launcher.csproj
index 5bf0b5f..05e2b4b 100644
--- a/samples/NotificationFlyoutSample.Launcher/NotificationFlyoutSample.Launcher.csproj
+++ b/samples/NotificationFlyoutSample.Launcher/NotificationFlyoutSample.Launcher.csproj
@@ -4,23 +4,39 @@
WinExe
netcoreapp3.1
true
- AnyCPU;x64
NotificationFlyoutSample.Host.Program
uap10.0.19041
+ x64
+
+
-
-
-
-
+
+
+ ..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Common.dll
+
+
+ ..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Shared.UI.dll
+
+
+ ..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls.dll
+
+
+ ..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Wpf.UI.dll
+
+
+ ..\..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\bin\x64\Release\netcoreapp3.1\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.dll
+
+
+
diff --git a/samples/NotificationFlyoutSample.Launcher/Program.cs b/samples/NotificationFlyoutSample.Launcher/Program.cs
index a4e8bd8..e08f71a 100644
--- a/samples/NotificationFlyoutSample.Launcher/Program.cs
+++ b/samples/NotificationFlyoutSample.Launcher/Program.cs
@@ -15,6 +15,7 @@ namespace NotificationFlyoutSample.Host
{
Flyout = new SampleFlyout()
};
+
app.Run();
}
}
diff --git a/samples/NotificationFlyoutSample.Package/Images/LockScreenLogo.scale-200.png b/samples/NotificationFlyoutSample.Package/Images/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000..735f57a
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/LockScreenLogo.scale-200.png differ
diff --git a/samples/NotificationFlyoutSample.Package/Images/SplashScreen.scale-200.png b/samples/NotificationFlyoutSample.Package/Images/SplashScreen.scale-200.png
new file mode 100644
index 0000000..023e7f1
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/SplashScreen.scale-200.png differ
diff --git a/samples/NotificationFlyoutSample.Package/Images/Square150x150Logo.scale-200.png b/samples/NotificationFlyoutSample.Package/Images/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000..af49fec
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/Square150x150Logo.scale-200.png differ
diff --git a/samples/NotificationFlyoutSample.Package/Images/Square44x44Logo.scale-200.png b/samples/NotificationFlyoutSample.Package/Images/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000..ce342a2
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/Square44x44Logo.scale-200.png differ
diff --git a/samples/NotificationFlyoutSample.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png b/samples/NotificationFlyoutSample.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000..f6c02ce
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/samples/NotificationFlyoutSample.Package/Images/StoreLogo.png b/samples/NotificationFlyoutSample.Package/Images/StoreLogo.png
new file mode 100644
index 0000000..7385b56
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/StoreLogo.png differ
diff --git a/samples/NotificationFlyoutSample.Package/Images/Wide310x150Logo.scale-200.png b/samples/NotificationFlyoutSample.Package/Images/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000..288995b
Binary files /dev/null and b/samples/NotificationFlyoutSample.Package/Images/Wide310x150Logo.scale-200.png differ
diff --git a/samples/NotificationFlyoutSample.Package/NotificationFlyoutSample.Package.wapproj b/samples/NotificationFlyoutSample.Package/NotificationFlyoutSample.Package.wapproj
new file mode 100644
index 0000000..041e21f
--- /dev/null
+++ b/samples/NotificationFlyoutSample.Package/NotificationFlyoutSample.Package.wapproj
@@ -0,0 +1,83 @@
+
+
+
+ 15.0
+
+
+
+ Debug
+ x86
+
+
+ Release
+ x86
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+ Debug
+ ARM
+
+
+ Release
+ ARM
+
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
+
+ Debug
+ AnyCPU
+
+
+ Release
+ AnyCPU
+
+
+
+ $(MSBuildExtensionsPath)\Microsoft\DesktopBridge\
+
+
+
+ faa7e8e0-032d-4c2a-bab6-6e0eed3d5a6d
+ 10.0.19041.0
+ 10.0.19041.0
+ en-US
+ false
+ ..\NotificationFlyoutSample.Launcher\NotificationFlyoutSample.Launcher.csproj
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+
+
+
\ No newline at end of file
diff --git a/samples/NotificationFlyoutSample.Package/Package.appxmanifest b/samples/NotificationFlyoutSample.Package/Package.appxmanifest
new file mode 100644
index 0000000..5d8f724
--- /dev/null
+++ b/samples/NotificationFlyoutSample.Package/Package.appxmanifest
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+ NotificationFlyoutSample.Package
+ Daniel Clark
+ Images\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/NotificationFlyoutSample.sln b/samples/NotificationFlyoutSample.sln
index 6e7b67a..a9190d8 100644
--- a/samples/NotificationFlyoutSample.sln
+++ b/samples/NotificationFlyoutSample.sln
@@ -10,18 +10,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
global.json = global.json
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Shared.UI", "..\src\TheXamlGuy.NotificationFlyout.Shared.UI\TheXamlGuy.NotificationFlyout.Shared.UI.csproj", "{38E34B61-E389-4EE1-8D5E-5372568DE982}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Uwp.UI.Controls", "..\src\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls.csproj", "{ACA2CC23-A9AE-427F-A900-ED75A96698F4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Wpf.UI.Controls", "..\src\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls\TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj", "{BE3B1281-CD44-4291-BE1D-33FC13E61E06}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Wpf.UI", "..\src\TheXamlGuy.NotificationFlyout.Wpf.UI\TheXamlGuy.NotificationFlyout.Wpf.UI.csproj", "{A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheXamlGuy.NotificationFlyout.Common", "..\src\TheXamlGuy.NotificationFlyout.Common\TheXamlGuy.NotificationFlyout.Common.csproj", "{293834F2-4A99-4C92-A165-7C617D98FCC7}"
-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}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -63,106 +55,6 @@ Global
{2057ADE0-C61E-45EE-BB7E-A469FE4D4C41}.Release|x86.ActiveCfg = Release|x86
{2057ADE0-C61E-45EE-BB7E-A469FE4D4C41}.Release|x86.Build.0 = Release|x86
{2057ADE0-C61E-45EE-BB7E-A469FE4D4C41}.Release|x86.Deploy.0 = Release|x86
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|ARM.Build.0 = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|ARM64.Build.0 = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|x64.ActiveCfg = Debug|x64
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|x64.Build.0 = Debug|x64
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|x86.ActiveCfg = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Debug|x86.Build.0 = Debug|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|Any CPU.Build.0 = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|ARM.ActiveCfg = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|ARM.Build.0 = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|ARM64.ActiveCfg = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|ARM64.Build.0 = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|x64.ActiveCfg = Release|x64
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|x64.Build.0 = Release|x64
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|x86.ActiveCfg = Release|Any CPU
- {38E34B61-E389-4EE1-8D5E-5372568DE982}.Release|x86.Build.0 = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|ARM.Build.0 = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|ARM64.Build.0 = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|x64.ActiveCfg = Debug|x64
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|x64.Build.0 = Debug|x64
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Debug|x86.Build.0 = Debug|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|Any CPU.Build.0 = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|ARM.ActiveCfg = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|ARM.Build.0 = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|ARM64.ActiveCfg = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|ARM64.Build.0 = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|x64.ActiveCfg = Release|x64
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|x64.Build.0 = Release|x64
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|x86.ActiveCfg = Release|Any CPU
- {ACA2CC23-A9AE-427F-A900-ED75A96698F4}.Release|x86.Build.0 = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|ARM.Build.0 = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|ARM64.Build.0 = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|x64.ActiveCfg = Debug|x64
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|x64.Build.0 = Debug|x64
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|x86.ActiveCfg = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Debug|x86.Build.0 = Debug|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|Any CPU.Build.0 = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|ARM.ActiveCfg = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|ARM.Build.0 = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|ARM64.ActiveCfg = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|ARM64.Build.0 = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|x64.ActiveCfg = Release|x64
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|x64.Build.0 = Release|x64
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|x86.ActiveCfg = Release|Any CPU
- {BE3B1281-CD44-4291-BE1D-33FC13E61E06}.Release|x86.Build.0 = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|ARM.Build.0 = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|ARM64.Build.0 = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|x64.ActiveCfg = Debug|x64
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|x64.Build.0 = Debug|x64
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Debug|x86.Build.0 = Debug|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|Any CPU.Build.0 = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|ARM.ActiveCfg = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|ARM.Build.0 = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|ARM64.ActiveCfg = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|ARM64.Build.0 = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|x64.ActiveCfg = Release|x64
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|x64.Build.0 = Release|x64
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|x86.ActiveCfg = Release|Any CPU
- {A38BA7F7-5FEC-49F2-9FEB-F80AFE5934AF}.Release|x86.Build.0 = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|ARM.Build.0 = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|ARM64.Build.0 = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|x64.ActiveCfg = Debug|x64
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|x64.Build.0 = Debug|x64
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|x86.ActiveCfg = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Debug|x86.Build.0 = Debug|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|Any CPU.Build.0 = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|ARM.ActiveCfg = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|ARM.Build.0 = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|ARM64.ActiveCfg = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|ARM64.Build.0 = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|x64.ActiveCfg = Release|x64
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|x64.Build.0 = Release|x64
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|x86.ActiveCfg = Release|Any CPU
- {293834F2-4A99-4C92-A165-7C617D98FCC7}.Release|x86.Build.0 = Release|Any CPU
{5EDD254A-3F8E-4825-B806-5C230488E192}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5EDD254A-3F8E-4825-B806-5C230488E192}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5EDD254A-3F8E-4825-B806-5C230488E192}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -183,6 +75,36 @@ 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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/samples/NotificationFlyoutSample/NotificationFlyoutSample.csproj b/samples/NotificationFlyoutSample/NotificationFlyoutSample.csproj
index 71b6b43..8befba6 100644
--- a/samples/NotificationFlyoutSample/NotificationFlyoutSample.csproj
+++ b/samples/NotificationFlyoutSample/NotificationFlyoutSample.csproj
@@ -123,6 +123,9 @@
SampleFlyout.xaml
+
+ Test.xaml
+
@@ -161,16 +164,20 @@
MSBuild:Compile
Designer
+
+ Designer
+ MSBuild:Compile
+
-
- {a970d11a-ad9f-4a3f-a509-16fa5f9ac779}
- TheXamlGuy.NotificationFlyout.Uwp.UI.Controls
-
-
- {a970d11a-ad9f-4a3f-a509-16fa5f9ac779}
- TheXamlGuy.NotificationFlyout.Shared.UI
-
+
+ False
+ ..\..\src\TheXamlGuy.NotificationFlyout.Shared.UI\bin\x64\Release\uap10.0.19041\TheXamlGuy.NotificationFlyout.Shared.UI.dll
+
+
+ False
+ ..\..\src\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls\bin\x64\Release\uap10.0.19041\TheXamlGuy.NotificationFlyout.Uwp.UI.Controls.dll
+
14.0
diff --git a/samples/NotificationFlyoutSample/SampleFlyout.xaml b/samples/NotificationFlyoutSample/SampleFlyout.xaml
index 21d2a66..ad54932 100644
--- a/samples/NotificationFlyoutSample/SampleFlyout.xaml
+++ b/samples/NotificationFlyoutSample/SampleFlyout.xaml
@@ -9,8 +9,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/NotificationFlyoutSample/SampleFlyout.xaml.cs b/samples/NotificationFlyoutSample/SampleFlyout.xaml.cs
index 873cf12..df1fb01 100644
--- a/samples/NotificationFlyoutSample/SampleFlyout.xaml.cs
+++ b/samples/NotificationFlyoutSample/SampleFlyout.xaml.cs
@@ -43,5 +43,11 @@ namespace NotificationFlyoutSample
this.Placement = NotificationFlyoutPlacement.FullRight;
}
}
+
+ private void Button_Click(object sender, RoutedEventArgs e)
+ {
+ var app = GetApplication();
+ app.OpenAsWindow();
+ }
}
}
\ No newline at end of file
diff --git a/samples/NotificationFlyoutSample/Test.xaml b/samples/NotificationFlyoutSample/Test.xaml
new file mode 100644
index 0000000..5a13caf
--- /dev/null
+++ b/samples/NotificationFlyoutSample/Test.xaml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/NotificationFlyoutSample/Test.xaml.cs b/samples/NotificationFlyoutSample/Test.xaml.cs
new file mode 100644
index 0000000..459c82c
--- /dev/null
+++ b/samples/NotificationFlyoutSample/Test.xaml.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace NotificationFlyoutSample
+{
+ public sealed partial class Test : UserControl
+ {
+ public Test()
+ {
+ this.InitializeComponent();
+ }
+
+ private void TestButtonClick1(object sender, RoutedEventArgs e)
+ {
+ ToggleThemeTeachingTip1.XamlRoot = this.XamlRoot;
+ ToggleThemeTeachingTip1.IsOpen = true;
+ }
+ }
+}
diff --git a/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.cs b/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.cs
index 5023df9..f0cd57e 100644
--- a/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.cs
+++ b/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.cs
@@ -7,6 +7,7 @@ using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Shapes;
namespace TheXamlGuy.NotificationFlyout.Uwp.UI.Controls
{
@@ -226,8 +227,26 @@ namespace TheXamlGuy.NotificationFlyout.Uwp.UI.Controls
}
internal void UpdateTheme(bool isColorPrevalence) => VisualStateManager.GoToState(this, isColorPrevalence ? "ColorPrevalenceTheme" : "DefaultTheme", true);
+ private Rectangle _topThumb;
+ private Grid _layoutRoot;
+
+ protected override void OnManipulationDelta(ManipulationDeltaRoutedEventArgs e)
+ {
+ base.OnManipulationDelta(e);
+ }
protected override void OnApplyTemplate()
{
+ _layoutRoot = GetTemplateChild("LayoutRoot") as Grid;
+ _layoutRoot.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
+
+ _topThumb = GetTemplateChild("TopThumb") as Rectangle;
+ _topThumb.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;
+
+ _topThumb.ManipulationDelta += _topThumb_ManipulationDelta;
+ _topThumb.PointerPressed += _topThumb_PointerPressed;
+ _topThumb.PointerReleased += _topThumb_PointerReleased;
+
+
_container = GetTemplateChild("Container") as Border;
if (_container != null)
{
@@ -255,6 +274,33 @@ namespace TheXamlGuy.NotificationFlyout.Uwp.UI.Controls
}
}
+ private void _topThumb_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
+ {
+ _layoutRoot.Height = _layoutRoot.ActualHeight;
+ _layoutRoot.Height -= e.Delta.Translation.Y ;
+
+ _popup.SetValue(Popup.VerticalOffsetProperty, _popup.VerticalOffset += e.Delta.Translation.Y);
+ }
+
+ private void _topThumb_PointerReleased(object sender, PointerRoutedEventArgs e)
+ {
+ // XamlRoot.Content.ReleasePointerCapture(e.Pointer);
+ }
+
+ private void _topThumb_PointerPressed(object sender, PointerRoutedEventArgs e)
+ {
+ //XamlRoot.Content.CapturePointer(e.Pointer);
+ }
+
+ private void _topThumb_DragDelta(object sender, DragDeltaEventArgs e)
+ {
+
+ _layoutRoot.Height = _layoutRoot.ActualHeight;
+ _layoutRoot.Height -= e.VerticalChange;
+
+ _popup.SetValue(Popup.VerticalOffsetProperty, _popup.VerticalOffset += e.VerticalChange);
+ }
+
private static void OnIconPropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs args)
{
var sender = dependencyObject as NotificationFlyout;
diff --git a/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.xaml b/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.xaml
index af00b56..3b35989 100644
--- a/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.xaml
+++ b/src/TheXamlGuy.NotificationFlyout.Uwp.UI.Controls/NotificationFlyout/NotificationFlyout.xaml
@@ -50,23 +50,32 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj b/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj
index 008b36b..b31b225 100644
--- a/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj
+++ b/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls.csproj
@@ -22,6 +22,8 @@
+
+
diff --git a/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/XamlHost/TransparentXamlHost.cs b/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/XamlHost/TransparentXamlHost.cs
index 1b449f8..3f802c1 100644
--- a/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/XamlHost/TransparentXamlHost.cs
+++ b/src/TheXamlGuy.NotificationFlyout.Wpf.UI.Controls/XamlHost/TransparentXamlHost.cs
@@ -2,6 +2,7 @@
using TheXamlGuy.NotificationFlyout.Wpf.UI.Extensions;
using System.Windows;
using System.Windows.Media;
+using System;
namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
{
@@ -9,11 +10,9 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
{
internal const double WindowSize = 0;
- public TransparentXamlHost()
- {
- Loaded += OnLoaded;
- PrepareDefaultWindow();
- }
+ public TransparentXamlHost() => PrepareDefaultWindow();
+
+ protected override void OnContentRendered(EventArgs args) => Visibility = Visibility.Hidden;
protected override WindowsXamlHost OnPreparingXamlHost(WindowsXamlHost xamlHost)
{
@@ -22,16 +21,9 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Controls
return base.OnPreparingXamlHost(xamlHost);
}
-
- private void OnLoaded(object sender, RoutedEventArgs args)
- {
- this.Hidden();
- }
-
private void PrepareDefaultWindow()
{
ShowInTaskbar = false;
- ShowActivated = false;
WindowStyle = WindowStyle.None;
ResizeMode = ResizeMode.NoResize;
AllowsTransparency = true;
diff --git a/src/TheXamlGuy.NotificationFlyout.Wpf.UI/Extensions/WindowExtensions.cs b/src/TheXamlGuy.NotificationFlyout.Wpf.UI/Extensions/WindowExtensions.cs
index 1f2f4ac..615eded 100644
--- a/src/TheXamlGuy.NotificationFlyout.Wpf.UI/Extensions/WindowExtensions.cs
+++ b/src/TheXamlGuy.NotificationFlyout.Wpf.UI/Extensions/WindowExtensions.cs
@@ -31,7 +31,11 @@ namespace TheXamlGuy.NotificationFlyout.Wpf.UI.Extensions
public static void Hidden(this Window window)
{
var handle = window.GetHandle();
- PInvoke.SetWindowLong((HWND)handle, GWL_EX_STYLE, (PInvoke.GetWindowLong((HWND)handle, GWL_EX_STYLE) | (int)WindowFlag.WS_EX_TOOLWINDOW) & ~(int)WindowFlag.WS_EX_APPWINDOW);
+
+ int exStyle = (int)PInvoke.GetWindowLong((HWND)handle, (int)GWL_EX_STYLE);
+
+ exStyle |= (int)WindowFlag.WS_EX_APPWINDOW;
+ PInvoke.SetWindowLong((HWND)handle, (int)GWL_EX_STYLE, exStyle);
}
public static void SetTopAll(this Window window)
diff --git a/src/TheXamlGuy.NotificationFlyout.Wpf.UI/TheXamlGuy.NotificationFlyout.Wpf.UI.csproj b/src/TheXamlGuy.NotificationFlyout.Wpf.UI/TheXamlGuy.NotificationFlyout.Wpf.UI.csproj
index ca8c6bc..e116f92 100644
--- a/src/TheXamlGuy.NotificationFlyout.Wpf.UI/TheXamlGuy.NotificationFlyout.Wpf.UI.csproj
+++ b/src/TheXamlGuy.NotificationFlyout.Wpf.UI/TheXamlGuy.NotificationFlyout.Wpf.UI.csproj
@@ -20,7 +20,6 @@
-