From 5e81c400be8d499717523ea121c227c947165a47 Mon Sep 17 00:00:00 2001 From: Qiutong Shen Date: Tue, 30 Jun 2026 16:55:14 +0800 Subject: [PATCH 1/3] Add FocusVisuals sample (WinUI 3 migration from UWP XamlFocusVisuals) Migrated from Windows-universal-samples/Samples/XamlFocusVisuals to WinUI 3. - Two scenarios: custom focus visuals + system focus visuals on custom controls - Adapted for CPM, EnablePreviewMsixTooling, net9.0 TFM - Updated CheckBox template to use rounded corners (Fluent Design) - Temporarily uncommented nuget.org in nuget.config for local dev Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Samples/FocusVisuals/cs-winui/App.xaml | 15 ++ Samples/FocusVisuals/cs-winui/App.xaml.cs | 17 ++ .../FocusVisuals/cs-winui/Assets/AppIcon.ico | Bin 0 -> 370070 bytes .../Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1090 bytes .../Assets/SplashScreen.scale-200.png | Bin 0 -> 12625 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 6357 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1910 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 574 bytes ...go.targetsize-48_altform-lightunplated.png | Bin 0 -> 1091 bytes .../cs-winui/Assets/StoreLogo.png | Bin 0 -> 1106 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 5843 bytes .../cs-winui/Assets/yammer_share.png | Bin 0 -> 1506 bytes .../cs-winui/FocusVisualsSample.csproj | 42 +++ .../cs-winui/FocusVisualsSample.sln | 35 +++ Samples/FocusVisuals/cs-winui/MainWindow.xaml | 50 ++++ .../FocusVisuals/cs-winui/MainWindow.xaml.cs | 38 +++ .../cs-winui/Package.appxmanifest | 51 ++++ .../cs-winui/Properties/launchSettings.json | 10 + .../Scenarios/CustomControlUsagePage.xaml | 23 ++ .../Scenarios/CustomControlUsagePage.xaml.cs | 11 + .../Scenarios/CustomFocusVisualsPage.xaml | 241 ++++++++++++++++++ .../Scenarios/CustomFocusVisualsPage.xaml.cs | 11 + .../cs-winui/SocialMediaCounter.cs | 31 +++ .../FocusVisuals/cs-winui/Themes/Generic.xaml | 27 ++ Samples/FocusVisuals/cs-winui/app.manifest | 19 ++ 25 files changed, 621 insertions(+) create mode 100644 Samples/FocusVisuals/cs-winui/App.xaml create mode 100644 Samples/FocusVisuals/cs-winui/App.xaml.cs create mode 100644 Samples/FocusVisuals/cs-winui/Assets/AppIcon.ico create mode 100644 Samples/FocusVisuals/cs-winui/Assets/LockScreenLogo.scale-200.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/SplashScreen.scale-200.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/Square150x150Logo.scale-200.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.scale-200.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.targetsize-48_altform-lightunplated.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/StoreLogo.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/Wide310x150Logo.scale-200.png create mode 100644 Samples/FocusVisuals/cs-winui/Assets/yammer_share.png create mode 100644 Samples/FocusVisuals/cs-winui/FocusVisualsSample.csproj create mode 100644 Samples/FocusVisuals/cs-winui/FocusVisualsSample.sln create mode 100644 Samples/FocusVisuals/cs-winui/MainWindow.xaml create mode 100644 Samples/FocusVisuals/cs-winui/MainWindow.xaml.cs create mode 100644 Samples/FocusVisuals/cs-winui/Package.appxmanifest create mode 100644 Samples/FocusVisuals/cs-winui/Properties/launchSettings.json create mode 100644 Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml create mode 100644 Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml.cs create mode 100644 Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml create mode 100644 Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml.cs create mode 100644 Samples/FocusVisuals/cs-winui/SocialMediaCounter.cs create mode 100644 Samples/FocusVisuals/cs-winui/Themes/Generic.xaml create mode 100644 Samples/FocusVisuals/cs-winui/app.manifest diff --git a/Samples/FocusVisuals/cs-winui/App.xaml b/Samples/FocusVisuals/cs-winui/App.xaml new file mode 100644 index 000000000..2ab42083f --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/App.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/Samples/FocusVisuals/cs-winui/App.xaml.cs b/Samples/FocusVisuals/cs-winui/App.xaml.cs new file mode 100644 index 000000000..357a9f986 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/App.xaml.cs @@ -0,0 +1,17 @@ +using Microsoft.UI.Xaml; + +namespace FocusVisualsSample; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + } + + protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args) + { + var window = new MainWindow(); + window.Activate(); + } +} diff --git a/Samples/FocusVisuals/cs-winui/Assets/AppIcon.ico b/Samples/FocusVisuals/cs-winui/Assets/AppIcon.ico new file mode 100644 index 0000000000000000000000000000000000000000..235dad2c569272e9a3c7158ce4f93042044ea5d1 GIT binary patch literal 370070 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 literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/LockScreenLogo.scale-200.png b/Samples/FocusVisuals/cs-winui/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..33f889e106984ab9d522a6fca51b036fe85d0ffb GIT binary patch literal 1090 zcmV-I1ikx-P)&b zxMup`R-qg+6mnXG?R5g=!vhZ{B%T$C3{J*#jNh1hW8OF6FkFY~o^r2s_a+uf+(H0QDRr*g(#0 zlNu*NgVilaJ32($r5Ipc0eTGq>2FnqRYZ%onM&!&F2sOn0qO#)x4-h+VnwvMO7&nI zW2AFM!LkCcUPp=kgDw$~e*VUvD+U$;2mI4^3}_Nz2vYZYjrMGoIB@7q(18`) zQrt#(_7TsHBodYtpqqP+>FBS77>@@azm)ewU?)=IKome^?cJ{BKfxk^USdC{qrc}9 z;>4cL6$Oicm6R^7b$LUBO$c_hwFilWML^+AP>UvSV~7(@e|9>H3KjvaKDx_Q#)v?B z7R=R&XaVZ~S19M}X%r+t0;-lsIsP@&xj^B#^HV1Us$-UFTSgFbmL==)$X7 zNFuNTbAO!hlpBMTl=3x)#pLu9d}}k-S<*o|0hI6fnd=xF>og^^vu0#(2J4*TRyvZ> zGqG-|LYy>{cKC+$gMCq$d2#O_;mx0=rl-+HT<2|c$-ii-d8O@@VKNw1M}mueyr4q^Y?K99ZS~GvB;sw9V6)LLn(_)H8ti+qJx5d;4Q9hrD=uhL6ovL*69u$^)}Bjr*$0tZfSyz5qg33VntAWsAl z+lB3+5ih(>`*SZV?-Bm`_ireG7N5)e|780HlFwv^9X<|!09gBj2F|(qf&c&j07*qo IM6N<$f=X5F2LJ#7 literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/SplashScreen.scale-200.png b/Samples/FocusVisuals/cs-winui/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..802c79d6d7f4a181514f1cac16931cbfd654ea5d GIT binary patch literal 12625 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 Rd16UVXrIz5IA(YCe*qp{r`G@g literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/Square150x150Logo.scale-200.png b/Samples/FocusVisuals/cs-winui/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..ddba42adbb45821d1123a424657ea248ad7a411e GIT binary patch literal 6357 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 literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..e51416a8e42d483453d06da68f57aaa2c5db4671 GIT binary patch literal 574 zcmV-E0>S->P)D!2S5_J7ldulh3Kr$xyeFkPI7_d zdA`B>2VVEkh3Fo(61wVh&N8th;R#sKfm9ez&?)S-6|usQVq9a4$Wy({3^Vw zphDr%m8mNO1$s);V1kfmw{TFTYjzf3jMPH_D)6sNgGmedoAHL%o&}K9nd``Q&i`D6 zm!43A`v9_oZhakUgCOHn*3cjTIN%0i=LLB>)Bq{4DQ@wd4F-_N6=_b_LV-PpDSRM( zltjK$*w+UgEq55-w7HchQO=CFGWW|p^_;?CkMpjH_$->@HG#egU;^8N1GNI%hF6LE-sc{=N^MNf+#(=^ZVR_`JM)0Zh{x&phK0(*OVf M07*qoM6N<$f{>Q)_y7O^ literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.targetsize-48_altform-lightunplated.png b/Samples/FocusVisuals/cs-winui/Assets/Square44x44Logo.targetsize-48_altform-lightunplated.png new file mode 100644 index 0000000000000000000000000000000000000000..bf063eb4d6c4d14763d5d8ccca84c0f39fc6c350 GIT binary patch literal 1091 zcmV-J1ibr+P)%;e)Mb+oQkl#NdTRmo~A<(;gjdxkT%sBw>93j2n~5)+||jpL}EC7HA9`KV42*9;xWPn@+QXxK< zzDg^3Ky?Ou$jm!0>xAOrw>^};O)v{!2@uPX@EORkZDRdI zcwl7<;v5}u*(DiZT>)4PV$$F046BF^Ycr$Dl3kDiY5`&b>)BuWWm*wkrcx{z`bcCf z6)Y?8Vs(V*e^59(jh(;o$I`$e;1GYht^sW#3{L7^o@&cx@dHQR0Idi;wjd>ilfpLQ zwvXI4Atfv;05kWbspzi+8LtOSenD@Sz+S}o0Tr0Y+IwBo2SF`>XB0Qe15I6j&qw$P z%>GJQS1*8P^bb`gu5)?A0~_J&aMm733Ck8Ly#X50W^D|9!pYBGV^PB*pwmY8nM#ca zE>DB8dZ88|_J7IgJlsZFJKrS&H&NcEh!2)szJ_822yh1i`73W=QzX?Ug7aqH7;2aT z8r&LrP+Yby%d$j}?kFM*Y;blsU-j%~WI&7`_`+$$O zI;r=9n_rcpKlRHvIl_7A<>6LfW3Lv0PX#nJb zz+=0xJUqmOSLq=4qVfUZpMU>`0&wCpdi$U3&;ar&?Xbi9;V;i{h8m1}(AWR~002ov JPDHLkV1ke!=|TVi literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/StoreLogo.png b/Samples/FocusVisuals/cs-winui/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..be865f0c378b74ecc9dc740f45452b9763e59917 GIT binary patch literal 1106 zcmV-Y1g-mtP)LZf|FOXf6EvNm$pnQ7pc6nR046AJ zg2DvQ0XXs|D4l?Gg0>4lC9D)bV<(oO7w#V4oz96ZEB>%7*#_W_JN^q=`pagsiLv;K zlEUp`h4MMevO=$XFqFQ)iNp_--*7v4L`hJ(C~cHXZ#0Q?wdVu9BlE_|pr_ElH(FI{ z>O^KmtJT_KL6RsNM;*< zxf+@zBPBt2sA{CnXf)G|5}8V)*q-k9`)(9PPxu;xiZBHzm!L?PWB(kkNTQaAFB$&$ z5M@LIM-rx)n9DB881)M*=O_z3AB2)1L_SJYZnj>pY4AIg39CP&^iVq3uT=`Zzvub| zs9Bn@ox!Cf2xexd-0^}2Qk$|P6b?YS4H206e4KX>)Njb7W}tFIEeT>yy8Pq(L#=D+ zu((%xrBm|rkfiB~PP}d?U{JewR-{A* zpnkP^Ss@|g5n^X-e+WW&6QPWaMU1=Sl^LOY$oS+5em~|J{@(S80G|PHcl^!PSVcyd z>~b!X!B#`i9;nH!Ci9wdJw_L^`fHx6zsYf2{wo1=JW(R_8hvv3VAb?~>I=;F* z*q%|{6DB)R2$syqFJE0=6HB9dDa;Q)1-hacIT~i4cfzu;J0Qz5&r!=7c1<9^1X;Q-dh>t~9 zaU8yg2;*!oBuRE2WcqA>0YXTL%z*bo^y>*T_7N^J97HCd67C#?5E0=)OhNr>6kdbQ z*fuh7x)PmAPMak{PKYyHkPCQy)b%Ez*)hq)D9>0whX90}5ZkyQ-)U8C5N2VcuZ|BP zhbn^fglMh_TKqA}4%^0c$x^pN`uO;rZ7tx!8%^(96xYJWdU~coO;ASozQU5W`h~v1 zWReNqLZ)zvPUK$nr_Ic;Uwflz!s}kEE;?!VROL~)4%GMT9?T~S2H$IWCc6UEj7<1s zm$H7FiIIN6vT`N6kh^9tB7u1#2jTX@=pRJJx!6NUTniz$Ggcx^k|-f1VgXID}tkx!s@xO65+;5P9B0avPb-0{}& Y7w}?(qQZ`_82|tP07*qoM6N<$g5HGdP5=M^ literal 0 HcmV?d00001 diff --git a/Samples/FocusVisuals/cs-winui/Assets/Wide310x150Logo.scale-200.png b/Samples/FocusVisuals/cs-winui/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..314d297f20b765ee16ca15c4d3a066e0b7233c62 GIT binary patch literal 5843 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 yOHd7d7^t+2t&o=9fIe%#|HN2bZe?^J zG%heMHD!e|WdHyLU`a$lRA@u(nqO=bMI6U>`$v%%d@&k%F(mqCO!Ue4Cu;Q7@PsHq zj1QQIrA2B%i5Lw&$b)~N@<*j=Of*VrTO#2>LuqNtA=<>!*8WMaEz(}k*7oiy*Xtd3 z<9ugt*4gRrZg2Mrg|w4=$nNaUcV<7CncZtJ5~;NL@V;MI*^6H>^ZCy_VQf6=kLQl~ zhswK-lx+TzJ@EFa83P64%$L4nX5|@X?mXuSE?^n2$n(jHydqeUR|Lh%17z@0u%q1xbvz=4u&(hd;`+vK2ArL6 zZr}4OE33Xnvy_rWLA5OgFY>k?4+=RGv6NjWgVwxto@My8xm4QGfw{ATRW%Nac7H|Y z9oKZ!zSL}2C{ekf+WWS0g-aI)f>TBCVcHOF70X90F5cL^uc70u+ zeN9F0M~7xG7uW$;^UGxn!j%3Mp@ZZw0bc{K!9x zqzEo4ole{Ig|FE1I)&$1^E^@wGRnR=*wg5Mh?GvzXs1+!7T4tXf@A_FzPavqf`o-gxmJk%df@$7;JBLrx*tSq2~t@;+%9v*q>w9k=g2&^rEq+iV`P(T6;D#jm`wHv%l0NQ;Nt z-^>T7gkt%&3`O~1=h)UChJ;uuqYxkwdn}IKWE%XN`g%4bMq?yBhU zHvT#zCzHQY{6`!tX625GA{WQv+IoeC+N~n)y^`$|{Ly zh3aPklq40ZO))H%JnDfL3#z{xg2j+WJ+N1(+#8;ymPh5?G%Te&D(j}gmPc){5~`sB zCB_XZ$1hZVKBx>|2zmHYrljdm0UT<8`Jgh${#2+o94g-nRA#|Ip1J85Gb)N~1K*s=#nX~rWdHyG07*qo IM6N<$g7>ZI + + WinExe + net9.0-windows10.0.19041.0 + 10.0.17763.0 + FocusVisualsSample + app.manifest + x86;x64;ARM64 + win-x86;win-x64;win-arm64 + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/FocusVisuals/cs-winui/FocusVisualsSample.sln b/Samples/FocusVisuals/cs-winui/FocusVisualsSample.sln new file mode 100644 index 000000000..865239a64 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/FocusVisualsSample.sln @@ -0,0 +1,35 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FocusVisualsSample", "FocusVisualsSample.csproj", "{BCDC1789-5958-4152-87F6-3BED4C6E4B2F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|Any CPU.ActiveCfg = Debug|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|Any CPU.Build.0 = Debug|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|x64.ActiveCfg = Debug|x64 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|x64.Build.0 = Debug|x64 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|x64.Deploy.0 = Debug|x64 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|x86.ActiveCfg = Debug|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Debug|x86.Build.0 = Debug|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Release|Any CPU.ActiveCfg = Release|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Release|Any CPU.Build.0 = Release|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Release|x64.ActiveCfg = Release|x64 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Release|x64.Build.0 = Release|x64 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Release|x86.ActiveCfg = Release|x86 + {BCDC1789-5958-4152-87F6-3BED4C6E4B2F}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/FocusVisuals/cs-winui/MainWindow.xaml b/Samples/FocusVisuals/cs-winui/MainWindow.xaml new file mode 100644 index 000000000..183d45ebd --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/MainWindow.xaml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/FocusVisuals/cs-winui/MainWindow.xaml.cs b/Samples/FocusVisuals/cs-winui/MainWindow.xaml.cs new file mode 100644 index 000000000..84ec29cda --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/MainWindow.xaml.cs @@ -0,0 +1,38 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using FocusVisualsSample.Scenarios; + +namespace FocusVisualsSample; + +public sealed partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + + ExtendsContentIntoTitleBar = true; + SetTitleBar(AppTitleBar); + + AppWindow.SetIcon("Assets/AppIcon.ico"); + + // Select the first navigation item on startup. + NavView.SelectedItem = NavView.MenuItems[0]; + } + + private void NavView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args) + { + if (args.SelectedItem is NavigationViewItem item) + { + var tag = item.Tag?.ToString(); + switch (tag) + { + case "CustomFocusVisuals": + ContentFrame.Navigate(typeof(CustomFocusVisualsPage)); + break; + case "CustomControlUsage": + ContentFrame.Navigate(typeof(CustomControlUsagePage)); + break; + } + } + } +} diff --git a/Samples/FocusVisuals/cs-winui/Package.appxmanifest b/Samples/FocusVisuals/cs-winui/Package.appxmanifest new file mode 100644 index 000000000..0688e3747 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Package.appxmanifest @@ -0,0 +1,51 @@ + + + + + + + + + + FocusVisualsSample + AppPublisher + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/FocusVisuals/cs-winui/Properties/launchSettings.json b/Samples/FocusVisuals/cs-winui/Properties/launchSettings.json new file mode 100644 index 000000000..ff7687954 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "FocusVisualsSample (Package)": { + "commandName": "MsixPackage" + }, + "FocusVisualsSample (Unpackaged)": { + "commandName": "Project" + } + } +} \ No newline at end of file diff --git a/Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml b/Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml new file mode 100644 index 000000000..26959fa2c --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml @@ -0,0 +1,23 @@ + + + + + + + + The same focus visuals used for in-box controls can be applied to custom controls as well. + Simply set Control.UseSystemFocusVisuals to True, and it will draw the focus visuals around the bounds of your control. + If you need to specify a specific template part to be the bounds of the focus visual, use the attached property Control.IsTemplateFocusTarget and set it to true. + + + + + + diff --git a/Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml.cs b/Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml.cs new file mode 100644 index 000000000..816effff6 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Scenarios/CustomControlUsagePage.xaml.cs @@ -0,0 +1,11 @@ +using Microsoft.UI.Xaml.Controls; + +namespace FocusVisualsSample.Scenarios; + +public sealed partial class CustomControlUsagePage : Page +{ + public CustomControlUsagePage() + { + InitializeComponent(); + } +} diff --git a/Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml b/Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml new file mode 100644 index 000000000..ae91c6efa --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml @@ -0,0 +1,241 @@ + + + + + + + + + + + + With Windows 10, the system now draws the focus visuals for all of the inbox controls, and can be used for custom controls as well. + In this example, we will show you how to customize the focus visuals, if the 1px black and white border does not suit your needs. + Look in the Page.Resources of this page to see the source for this sample. + The 3 steps you need to define your own focus visuals for any inbox control are: + 1) Re-template the control and add in your desired visual (here we've added a red rectangle) + 2) Add back the FocusStates VisualStateGroup (see the control template code for the proper state names) + 3) Set Control.UseSystemFocusVisuals to False + + + + + + diff --git a/Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml.cs b/Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml.cs new file mode 100644 index 000000000..eb99fe646 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Scenarios/CustomFocusVisualsPage.xaml.cs @@ -0,0 +1,11 @@ +using Microsoft.UI.Xaml.Controls; + +namespace FocusVisualsSample.Scenarios; + +public sealed partial class CustomFocusVisualsPage : Page +{ + public CustomFocusVisualsPage() + { + InitializeComponent(); + } +} diff --git a/Samples/FocusVisuals/cs-winui/SocialMediaCounter.cs b/Samples/FocusVisuals/cs-winui/SocialMediaCounter.cs new file mode 100644 index 000000000..a3fe146ad --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/SocialMediaCounter.cs @@ -0,0 +1,31 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media; + +namespace FocusVisualsSample; + +public sealed class SocialMediaCounter : HyperlinkButton +{ + public static readonly DependencyProperty ShareImageProperty = + DependencyProperty.Register(nameof(ShareImage), typeof(ImageSource), typeof(SocialMediaCounter), new PropertyMetadata(null)); + + public ImageSource ShareImage + { + get => (ImageSource)GetValue(ShareImageProperty); + set => SetValue(ShareImageProperty, value); + } + + public static readonly DependencyProperty NumOfSharesProperty = + DependencyProperty.Register(nameof(NumOfShares), typeof(int), typeof(SocialMediaCounter), new PropertyMetadata(0)); + + public int NumOfShares + { + get => (int)GetValue(NumOfSharesProperty); + set => SetValue(NumOfSharesProperty, value); + } + + public SocialMediaCounter() + { + DefaultStyleKey = typeof(SocialMediaCounter); + } +} diff --git a/Samples/FocusVisuals/cs-winui/Themes/Generic.xaml b/Samples/FocusVisuals/cs-winui/Themes/Generic.xaml new file mode 100644 index 000000000..0bffabcf8 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/Themes/Generic.xaml @@ -0,0 +1,27 @@ + + + + diff --git a/Samples/FocusVisuals/cs-winui/app.manifest b/Samples/FocusVisuals/cs-winui/app.manifest new file mode 100644 index 000000000..0922bf544 --- /dev/null +++ b/Samples/FocusVisuals/cs-winui/app.manifest @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + PerMonitorV2 + + + \ No newline at end of file From 5a843e93109bc2dca80e68bafdaf58160db99f83 Mon Sep 17 00:00:00 2001 From: Qiutong Shen Date: Wed, 1 Jul 2026 11:16:09 +0800 Subject: [PATCH 2/3] Add TouchKeyboard sample (WinUI 3 migration from UWP TouchKeyboard) Migrated from Windows-universal-samples/Samples/TouchKeyboard to WinUI 3. - 4 scenarios: auto display, show/hide events, programmatic show/hide, emoji keyboard - InputPane.GetForCurrentView() replaced with InputPaneInterop.GetForWindow() - CoreInputView COM interop fixed for .NET 9 (manual HString + IntPtr marshaling) - Adapted for CPM, EnablePreviewMsixTooling, net9.0 TFM - Removed systemAIModels capability - Graceful fallback when CoreInputView unavailable in unpackaged mode Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Samples/TouchKeyboard/cs-winui/App.xaml | 16 +++ Samples/TouchKeyboard/cs-winui/App.xaml.cs | 19 ++++ .../TouchKeyboard/cs-winui/Assets/AppIcon.ico | Bin 0 -> 370070 bytes .../Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1090 bytes .../Assets/SplashScreen.scale-200.png | Bin 0 -> 12625 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 6357 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1910 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 574 bytes ...go.targetsize-48_altform-lightunplated.png | Bin 0 -> 1091 bytes .../cs-winui/Assets/StoreLogo.png | Bin 0 -> 1106 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 5843 bytes .../TouchKeyboard/cs-winui/CustomTextBox.cs | 18 +++ .../TouchKeyboard/cs-winui/MainWindow.xaml | 69 ++++++++++++ .../TouchKeyboard/cs-winui/MainWindow.xaml.cs | 56 ++++++++++ .../cs-winui/Package.appxmanifest | 51 +++++++++ .../cs-winui/Properties/launchSettings.json | 10 ++ .../cs-winui/Scenario1_Launch.xaml | 56 ++++++++++ .../cs-winui/Scenario1_Launch.xaml.cs | 11 ++ .../cs-winui/Scenario2_ShowHideEvents.xaml | 39 +++++++ .../cs-winui/Scenario2_ShowHideEvents.xaml.cs | 59 ++++++++++ .../cs-winui/Scenario3_ShowHideMethods.xaml | 51 +++++++++ .../Scenario3_ShowHideMethods.xaml.cs | 57 ++++++++++ .../cs-winui/Scenario4_ShowView.xaml | 30 +++++ .../cs-winui/Scenario4_ShowView.xaml.cs | 105 ++++++++++++++++++ .../cs-winui/TouchKeyboard.csproj | 39 +++++++ .../TouchKeyboard/cs-winui/TouchKeyboard.sln | 35 ++++++ Samples/TouchKeyboard/cs-winui/app.manifest | 19 ++++ 27 files changed, 740 insertions(+) create mode 100644 Samples/TouchKeyboard/cs-winui/App.xaml create mode 100644 Samples/TouchKeyboard/cs-winui/App.xaml.cs create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/AppIcon.ico create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/LockScreenLogo.scale-200.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/SplashScreen.scale-200.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/Square150x150Logo.scale-200.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.scale-200.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.targetsize-48_altform-lightunplated.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/StoreLogo.png create mode 100644 Samples/TouchKeyboard/cs-winui/Assets/Wide310x150Logo.scale-200.png create mode 100644 Samples/TouchKeyboard/cs-winui/CustomTextBox.cs create mode 100644 Samples/TouchKeyboard/cs-winui/MainWindow.xaml create mode 100644 Samples/TouchKeyboard/cs-winui/MainWindow.xaml.cs create mode 100644 Samples/TouchKeyboard/cs-winui/Package.appxmanifest create mode 100644 Samples/TouchKeyboard/cs-winui/Properties/launchSettings.json create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario1_Launch.xaml create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario1_Launch.xaml.cs create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario2_ShowHideEvents.xaml create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario2_ShowHideEvents.xaml.cs create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario3_ShowHideMethods.xaml create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario3_ShowHideMethods.xaml.cs create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario4_ShowView.xaml create mode 100644 Samples/TouchKeyboard/cs-winui/Scenario4_ShowView.xaml.cs create mode 100644 Samples/TouchKeyboard/cs-winui/TouchKeyboard.csproj create mode 100644 Samples/TouchKeyboard/cs-winui/TouchKeyboard.sln create mode 100644 Samples/TouchKeyboard/cs-winui/app.manifest diff --git a/Samples/TouchKeyboard/cs-winui/App.xaml b/Samples/TouchKeyboard/cs-winui/App.xaml new file mode 100644 index 000000000..6ea9e85d5 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/App.xaml @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/Samples/TouchKeyboard/cs-winui/App.xaml.cs b/Samples/TouchKeyboard/cs-winui/App.xaml.cs new file mode 100644 index 000000000..23f8c9382 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/App.xaml.cs @@ -0,0 +1,19 @@ +using Microsoft.UI.Xaml; + +namespace TouchKeyboard; + +public partial class App : Application +{ + private Window _window; + + public App() + { + InitializeComponent(); + } + + protected override void OnLaunched(LaunchActivatedEventArgs args) + { + _window = new MainWindow(); + _window.Activate(); + } +} diff --git a/Samples/TouchKeyboard/cs-winui/Assets/AppIcon.ico b/Samples/TouchKeyboard/cs-winui/Assets/AppIcon.ico new file mode 100644 index 0000000000000000000000000000000000000000..235dad2c569272e9a3c7158ce4f93042044ea5d1 GIT binary patch literal 370070 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 literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/LockScreenLogo.scale-200.png b/Samples/TouchKeyboard/cs-winui/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..33f889e106984ab9d522a6fca51b036fe85d0ffb GIT binary patch literal 1090 zcmV-I1ikx-P)&b zxMup`R-qg+6mnXG?R5g=!vhZ{B%T$C3{J*#jNh1hW8OF6FkFY~o^r2s_a+uf+(H0QDRr*g(#0 zlNu*NgVilaJ32($r5Ipc0eTGq>2FnqRYZ%onM&!&F2sOn0qO#)x4-h+VnwvMO7&nI zW2AFM!LkCcUPp=kgDw$~e*VUvD+U$;2mI4^3}_Nz2vYZYjrMGoIB@7q(18`) zQrt#(_7TsHBodYtpqqP+>FBS77>@@azm)ewU?)=IKome^?cJ{BKfxk^USdC{qrc}9 z;>4cL6$Oicm6R^7b$LUBO$c_hwFilWML^+AP>UvSV~7(@e|9>H3KjvaKDx_Q#)v?B z7R=R&XaVZ~S19M}X%r+t0;-lsIsP@&xj^B#^HV1Us$-UFTSgFbmL==)$X7 zNFuNTbAO!hlpBMTl=3x)#pLu9d}}k-S<*o|0hI6fnd=xF>og^^vu0#(2J4*TRyvZ> zGqG-|LYy>{cKC+$gMCq$d2#O_;mx0=rl-+HT<2|c$-ii-d8O@@VKNw1M}mueyr4q^Y?K99ZS~GvB;sw9V6)LLn(_)H8ti+qJx5d;4Q9hrD=uhL6ovL*69u$^)}Bjr*$0tZfSyz5qg33VntAWsAl z+lB3+5ih(>`*SZV?-Bm`_ireG7N5)e|780HlFwv^9X<|!09gBj2F|(qf&c&j07*qo IM6N<$f=X5F2LJ#7 literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/SplashScreen.scale-200.png b/Samples/TouchKeyboard/cs-winui/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..802c79d6d7f4a181514f1cac16931cbfd654ea5d GIT binary patch literal 12625 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 Rd16UVXrIz5IA(YCe*qp{r`G@g literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/Square150x150Logo.scale-200.png b/Samples/TouchKeyboard/cs-winui/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..ddba42adbb45821d1123a424657ea248ad7a411e GIT binary patch literal 6357 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 literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..e51416a8e42d483453d06da68f57aaa2c5db4671 GIT binary patch literal 574 zcmV-E0>S->P)D!2S5_J7ldulh3Kr$xyeFkPI7_d zdA`B>2VVEkh3Fo(61wVh&N8th;R#sKfm9ez&?)S-6|usQVq9a4$Wy({3^Vw zphDr%m8mNO1$s);V1kfmw{TFTYjzf3jMPH_D)6sNgGmedoAHL%o&}K9nd``Q&i`D6 zm!43A`v9_oZhakUgCOHn*3cjTIN%0i=LLB>)Bq{4DQ@wd4F-_N6=_b_LV-PpDSRM( zltjK$*w+UgEq55-w7HchQO=CFGWW|p^_;?CkMpjH_$->@HG#egU;^8N1GNI%hF6LE-sc{=N^MNf+#(=^ZVR_`JM)0Zh{x&phK0(*OVf M07*qoM6N<$f{>Q)_y7O^ literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.targetsize-48_altform-lightunplated.png b/Samples/TouchKeyboard/cs-winui/Assets/Square44x44Logo.targetsize-48_altform-lightunplated.png new file mode 100644 index 0000000000000000000000000000000000000000..bf063eb4d6c4d14763d5d8ccca84c0f39fc6c350 GIT binary patch literal 1091 zcmV-J1ibr+P)%;e)Mb+oQkl#NdTRmo~A<(;gjdxkT%sBw>93j2n~5)+||jpL}EC7HA9`KV42*9;xWPn@+QXxK< zzDg^3Ky?Ou$jm!0>xAOrw>^};O)v{!2@uPX@EORkZDRdI zcwl7<;v5}u*(DiZT>)4PV$$F046BF^Ycr$Dl3kDiY5`&b>)BuWWm*wkrcx{z`bcCf z6)Y?8Vs(V*e^59(jh(;o$I`$e;1GYht^sW#3{L7^o@&cx@dHQR0Idi;wjd>ilfpLQ zwvXI4Atfv;05kWbspzi+8LtOSenD@Sz+S}o0Tr0Y+IwBo2SF`>XB0Qe15I6j&qw$P z%>GJQS1*8P^bb`gu5)?A0~_J&aMm733Ck8Ly#X50W^D|9!pYBGV^PB*pwmY8nM#ca zE>DB8dZ88|_J7IgJlsZFJKrS&H&NcEh!2)szJ_822yh1i`73W=QzX?Ug7aqH7;2aT z8r&LrP+Yby%d$j}?kFM*Y;blsU-j%~WI&7`_`+$$O zI;r=9n_rcpKlRHvIl_7A<>6LfW3Lv0PX#nJb zz+=0xJUqmOSLq=4qVfUZpMU>`0&wCpdi$U3&;ar&?Xbi9;V;i{h8m1}(AWR~002ov JPDHLkV1ke!=|TVi literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/StoreLogo.png b/Samples/TouchKeyboard/cs-winui/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..be865f0c378b74ecc9dc740f45452b9763e59917 GIT binary patch literal 1106 zcmV-Y1g-mtP)LZf|FOXf6EvNm$pnQ7pc6nR046AJ zg2DvQ0XXs|D4l?Gg0>4lC9D)bV<(oO7w#V4oz96ZEB>%7*#_W_JN^q=`pagsiLv;K zlEUp`h4MMevO=$XFqFQ)iNp_--*7v4L`hJ(C~cHXZ#0Q?wdVu9BlE_|pr_ElH(FI{ z>O^KmtJT_KL6RsNM;*< zxf+@zBPBt2sA{CnXf)G|5}8V)*q-k9`)(9PPxu;xiZBHzm!L?PWB(kkNTQaAFB$&$ z5M@LIM-rx)n9DB881)M*=O_z3AB2)1L_SJYZnj>pY4AIg39CP&^iVq3uT=`Zzvub| zs9Bn@ox!Cf2xexd-0^}2Qk$|P6b?YS4H206e4KX>)Njb7W}tFIEeT>yy8Pq(L#=D+ zu((%xrBm|rkfiB~PP}d?U{JewR-{A* zpnkP^Ss@|g5n^X-e+WW&6QPWaMU1=Sl^LOY$oS+5em~|J{@(S80G|PHcl^!PSVcyd z>~b!X!B#`i9;nH!Ci9wdJw_L^`fHx6zsYf2{wo1=JW(R_8hvv3VAb?~>I=;F* z*q%|{6DB)R2$syqFJE0=6HB9dDa;Q)1-hacIT~i4cfzu;J0Qz5&r!=7c1<9^1X;Q-dh>t~9 zaU8yg2;*!oBuRE2WcqA>0YXTL%z*bo^y>*T_7N^J97HCd67C#?5E0=)OhNr>6kdbQ z*fuh7x)PmAPMak{PKYyHkPCQy)b%Ez*)hq)D9>0whX90}5ZkyQ-)U8C5N2VcuZ|BP zhbn^fglMh_TKqA}4%^0c$x^pN`uO;rZ7tx!8%^(96xYJWdU~coO;ASozQU5W`h~v1 zWReNqLZ)zvPUK$nr_Ic;Uwflz!s}kEE;?!VROL~)4%GMT9?T~S2H$IWCc6UEj7<1s zm$H7FiIIN6vT`N6kh^9tB7u1#2jTX@=pRJJx!6NUTniz$Ggcx^k|-f1VgXID}tkx!s@xO65+;5P9B0avPb-0{}& Y7w}?(qQZ`_82|tP07*qoM6N<$g5HGdP5=M^ literal 0 HcmV?d00001 diff --git a/Samples/TouchKeyboard/cs-winui/Assets/Wide310x150Logo.scale-200.png b/Samples/TouchKeyboard/cs-winui/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..314d297f20b765ee16ca15c4d3a066e0b7233c62 GIT binary patch literal 5843 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 yOHd7d7^t+2t&o=9fIe%#|H +/// Custom TextBox control derived from TextBox class. +/// +public class CustomTextBox : TextBox +{ + public CustomTextBox() + { + FontFamily = new FontFamily("Times New Roman"); + FontStyle = Windows.UI.Text.FontStyle.Italic; + BorderThickness = new Thickness(1); + } +} diff --git a/Samples/TouchKeyboard/cs-winui/MainWindow.xaml b/Samples/TouchKeyboard/cs-winui/MainWindow.xaml new file mode 100644 index 000000000..22d095ff0 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/MainWindow.xaml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/TouchKeyboard/cs-winui/MainWindow.xaml.cs b/Samples/TouchKeyboard/cs-winui/MainWindow.xaml.cs new file mode 100644 index 000000000..ba7f61899 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/MainWindow.xaml.cs @@ -0,0 +1,56 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +namespace TouchKeyboard; + +public sealed partial class MainWindow : Window +{ + public static new MainWindow Current { get; private set; } + + public MainWindow() + { + InitializeComponent(); + Current = this; + + ExtendsContentIntoTitleBar = true; + SetTitleBar(AppTitleBar); + AppWindow.SetIcon("Assets/AppIcon.ico"); + + NavView.SelectedItem = NavView.MenuItems[0]; + } + + private void NavView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args) + { + if (args.SelectedItem is NavigationViewItem item) + { + var tag = item.Tag?.ToString(); + switch (tag) + { + case "Scenario1": + ContentFrame.Navigate(typeof(Scenario1_Launch)); + break; + case "Scenario2": + ContentFrame.Navigate(typeof(Scenario2_ShowHideEvents)); + break; + case "Scenario3": + ContentFrame.Navigate(typeof(Scenario3_ShowHideMethods)); + break; + case "Scenario4": + ContentFrame.Navigate(typeof(Scenario4_ShowView)); + break; + } + } + + StatusInfoBar.IsOpen = false; + } + + public void NotifyUser(string message, InfoBarSeverity severity) + { + DispatcherQueue.TryEnqueue(() => + { + StatusInfoBar.Message = message; + StatusInfoBar.Severity = severity; + StatusInfoBar.IsOpen = !string.IsNullOrEmpty(message); + }); + } +} diff --git a/Samples/TouchKeyboard/cs-winui/Package.appxmanifest b/Samples/TouchKeyboard/cs-winui/Package.appxmanifest new file mode 100644 index 000000000..660e9b702 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/Package.appxmanifest @@ -0,0 +1,51 @@ + + + + + + + + + + TouchKeyboard + AppPublisher + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/TouchKeyboard/cs-winui/Properties/launchSettings.json b/Samples/TouchKeyboard/cs-winui/Properties/launchSettings.json new file mode 100644 index 000000000..4f258d3a3 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "TouchKeyboard (Unpackaged)": { + "commandName": "Project" + }, + "TouchKeyboard (Package)": { + "commandName": "MsixPackage" + } + } +} \ No newline at end of file diff --git a/Samples/TouchKeyboard/cs-winui/Scenario1_Launch.xaml b/Samples/TouchKeyboard/cs-winui/Scenario1_Launch.xaml new file mode 100644 index 000000000..5427f1fb1 --- /dev/null +++ b/Samples/TouchKeyboard/cs-winui/Scenario1_Launch.xaml @@ -0,0 +1,56 @@ + + + + + + + + The touch keyboard displays + when touch or pen is used to set focus on a XAML text control + (such as TextBox, RichTextBox, and PasswordBox) + or a control derived from a XAML text control, + subject to the note below. + + + + + + + The keyboard hides when you tap the button. +