From 646c4b0e0179a43a836802b6aadef57dcdc48971 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Sun, 10 Dec 2023 16:40:36 +0800 Subject: [PATCH] feat: initialize Avalonia demo. --- src/Avalonia/Directory.Build.props | 6 ++ .../HandyControlDemo_Avalonia/App.axaml | 11 ++ .../HandyControlDemo_Avalonia/App.axaml.cs | 28 +++++ .../HandyControlDemo_Avalonia.csproj | 41 +++++++ .../MainWindow.axaml | 15 +++ .../MainWindow.axaml.cs | 11 ++ .../HandyControlDemo_Avalonia/Program.cs | 16 +++ .../Resources/Img/cloud.png | Bin 0 -> 15986 bytes .../Resources/Img/icon.ico | Bin 0 -> 110324 bytes .../Resources/Themes/Basic/Basic.axaml | 6 ++ .../Resources/Themes/Basic/Brushes.axaml | 8 ++ .../Resources/Themes/Theme.axaml | 10 ++ .../Views/Main/MainWindowContent.axaml | 22 ++++ .../Views/Main/MainWindowContent.axaml.cs | 11 ++ .../Views/Styles/ButtonDemoCtrl.axaml | 17 +++ .../Views/Styles/ButtonDemoCtrl.axaml.cs | 11 ++ .../HandyControlDemo_Avalonia/app.manifest | 15 +++ .../HandyControl_Avalonia.csproj | 13 +++ .../Properties/AssemblyInfo.cs | 4 + .../Themes/Basic/Brushes.axaml | 64 +++++++++++ .../Themes/Basic/Colors.axaml | 98 +++++++++++++++++ .../Themes/Basic/Effects.axaml | 13 +++ .../Themes/Basic/Sizes.axaml | 9 ++ .../Themes/Styles/Button.axaml | 102 ++++++++++++++++++ .../Themes/Styles/ContentControl.axaml | 20 ++++ .../Themes/Styles/Style.axaml | 17 +++ .../Themes/Styles/UserControl.axaml | 20 ++++ .../Themes/Styles/Window.axaml | 31 ++++++ .../HandyControl_Avalonia/Themes/Theme.axaml | 15 +++ .../Themes/Theme.axaml.cs | 14 +++ src/HandyControl.sln | 58 ++++++---- 31 files changed, 687 insertions(+), 19 deletions(-) create mode 100644 src/Avalonia/Directory.Build.props create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/App.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Program.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/cloud.png create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/icon.ico create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/app.manifest create mode 100644 src/Avalonia/HandyControl_Avalonia/HandyControl_Avalonia.csproj create mode 100644 src/Avalonia/HandyControl_Avalonia/Properties/AssemblyInfo.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Basic/Brushes.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Basic/Colors.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Basic/Effects.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Basic/Sizes.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/Button.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/ContentControl.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/Style.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/UserControl.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/Window.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml.cs diff --git a/src/Avalonia/Directory.Build.props b/src/Avalonia/Directory.Build.props new file mode 100644 index 000000000..b7d1f090c --- /dev/null +++ b/src/Avalonia/Directory.Build.props @@ -0,0 +1,6 @@ + + + enable + 11.0.6 + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/App.axaml b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml new file mode 100644 index 000000000..6ecedd565 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs new file mode 100644 index 000000000..f48db2b30 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs @@ -0,0 +1,28 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Data.Core.Plugins; +using Avalonia.Markup.Xaml; + + +namespace HandyControlDemo; + +// ReSharper disable once PartialTypeWithSinglePart +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + BindingPlugins.DataValidators.RemoveAt(0); + + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow(); + } + + base.OnFrameworkInitializationCompleted(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj new file mode 100644 index 000000000..a3a2cc373 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj @@ -0,0 +1,41 @@ + + + WinExe + + net7.0 + enable + true + app.manifest + HandyControlDemo + HandyControlDemo + + + + + + + + + + + + + + + + + + + + + + + + App.axaml + + + ButtonDemoCtrl.axaml + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml new file mode 100644 index 000000000..ddd9e5391 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml @@ -0,0 +1,15 @@ + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs new file mode 100644 index 000000000..8edecb99c --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/MainWindow.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace HandyControlDemo; + +public partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Program.cs b/src/Avalonia/HandyControlDemo_Avalonia/Program.cs new file mode 100644 index 000000000..3b0751f82 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Program.cs @@ -0,0 +1,16 @@ +using System; +using Avalonia; + +namespace HandyControlDemo; + +public class Program +{ + [STAThread] + public static void Main(string[] args) => BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .LogToTrace(); +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/cloud.png b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b36fb42e87a98ca2b541eec1f27f53dea02f3f GIT binary patch literal 15986 zcmV-&K8?YNP)#mpn!mY zc6N5Xy}gc(j#pP#!otGG$H(gG>U(>8*VosQl9HR7o0gWA(9qD-)YKv2)W84$05Wt^ zPE!H~o}2*%pa28|2MMMKp`sv7mPn+N3mcgcj&*ujQw}6EUw?^0ai~2w6@(~lWN9xe zC2#}^002E%NklyCaTtq>1YYH{T+nwKV%1ZpY)cNIo33=ba!Soo93L>R<+??0@mYLP0 z3hU;yB1o!$8Xz#0RpH}zD~?-RJ-x5UA>H*0{ZGc2y%DV1Z|EmD(k@&{i6F=N;CCC&OmzJE zSd452Ri|V`%4V!Yo1MS3Ca|oPXKG3cvdqLrAqdufv0l4Tt1RoZ4S<$;dz^495xxnb_(SN>LK|3kNcFbAD9H zn9ucDSxJo9tjcdt=rK$RVidmFvf0WmalaB)IBW|aLwOzc89mp~1rimvQ5qC}8 z2yu3(!*Kd-Uh})Jn-h>3UcMPsfp>T?SfNl5oGP=hAPaj*LHr1XgK?G2Afl}COG>1t zm72369F1XB_^}b}URSn)&@o&`<;>u2P2QhRqo}n@QHF4Y2-N<3Gg@j&U%yW?fNqVC zA;dEG=dCFOZJFN)jyqqrSarA0&W9NDa5>K-Go>28E+w&BQYgfZ{s-oC$?wLDo1Yb; zLq5SAKK=zqx`broAp8r>hGC5HorJ@diA)JbZ591tWdg=09+jO?8~P7rYLLIJkrT#O*z)w$;x2B$UH&A3_YV|4a^>I0%Hf@D&{F{%>QdnBoU&**%;x(mD32 zs?%q^6_6eCGE+zVj5jB0wCVkIGG|a_aSB^?yLfN{<~Xh#H&laFs+!*{jF&HdiSk<)9ZEn?0l>b3(}O39ensM>fm5x zVgeH|6Igyt-M1jKZGMFsjsBSmDGL8l5;Ahmi3-`&BsV5@^bTi(+A-Wf!rQ!G$e=cU zeeW-Q%r6s=@z#fy)$9;vb7JmQA8a-6y^k@(-sk@LSPUsZ?J@MTfXT6AHS1oTNrqL* zEW9*vB2%)acS@>zzaa*V*W}>3$yaYFQiPLq%vdGaUaTJ6xR(& zxhROw^~?~Q$|E3zF78<}9;fPftBUG1GC6}&8~1hJLB$lj%-<%deF&Fg15$-h5pHG# ze*2$+Mm zD5`t(;k%HLQFf>)KQj~NaAX*&a5ES!{jOs(BV*HZJrT^p9mbI4uB;&Q;gK4%u|l0t z#>}U^?|pJ(64vg%_J_rk)IbbcoojzEGW*68F&Pc<1V=VD;pPY|k`*C(?_>YnI4G2G zs2j>FD6EPV6WqOify{34!)A8eLd_lf7Yte4D-@CpMy6PW#P|1Gmoi(*M$73_#?V~* ztFpkl-FkSXPC*8zWU1m&hKk_k{w@TfIqt!%m_z7P2uxz#t2(`i6owXdj^#}2N|~&R z6%%3T7bt89lM-fscChi8Y>BLm1EAW)J4jOAhBB!eU+261d)Qxn?)&;Xw?mxa6kQYE zTZXZ@?dCUaN#XGDVG>B$Z_Hrs8Ge8nAAQp~Xevs^X0TLDh{ktl{)qC*KwKo1F<~FJ z1k#IN$lT3WE!?5LgHz1mNCNxok8lKf#kvfa`%vaFNrDe$m>tpLuZ|3>eSQXU3VH2g z-G}gLTj;7to+(?Ee@Nlz5w0ykNYB2RSB{9y*qj<1$enin+F3^Z5g@B#MNq!i6T$J_ zPYip7=JfjdW+EaC^$Ujdu>NrhqoOZbgSytXuVUZVc|WUWw|Jx$d<^?cC1ZC8d2=q_ zAul@>Wc&PYMPrj}#6;b_znLhpoI`ycwFQ%A#6~2`JCEO%98tV0F;3wK5Fe8nYB(e} zR?vCfhdgXxmj3$73Qpa#-!fr^eSAU40D?G8AI~~}PU(0364NEb4KuXe`{pLCXE*W;Qmy<$Z^i2{N8@-#ibu>GfBA`Vf4Tfz*h}H%25bHbf>}cse4pXZgt5oQRXK8QK+cnM)~%xnyp zfuJhL1f;34K1zBgA7Y_j{)E7#W%43|YLzF?V%q%XPan#MDjU*E{>jLQR^B&$|1PTH zeJT4ozi&uZoDt+uH=8P{Kp9t|;*@Fj2PLN;zX7=-+|Ns$YT=1XGP4yk9qm34<} z%y*~Jk^2jKGUer(ECQirmmic2YD~mtq(Ewz_Q_?#3RoBX32+33GleOmE&hcAW!AEe z&(I$Qq$huXq;gmfe~+@iW-#31SKu)G>yXW*KWD74%x-1u%lBi-2;^4N?Rd?7Ih@!S zgt74(W78tO?SHh{#V<4?16Umx;vm(o9$IC`wArnXtO8>Nm`xxi{3`P^*c7@6{tHrU z^G2}3xQ}%n?xUr=>cfkPm*lCblV2Y$oti^tb{c~BNvLxl6QBEVDLN>b3dw3n?jsw! zCY*?vXw&qU4Y83LSeP7sZ|@H#P}sB!=TV6aM9Kn#V-@2~6V7UsF%JFC1SCWKNG(Nn zyB{VNfcE*>fzoqQIf6|w>B}3~fxy=O4#P7fzP!AP-vR-d8I=BZA%<`9YSX`1F2qVQ z4R!c*NI|CH^l$L_^JfHc`0f0`Shn-w{q)WLU2GhnOe^lnSb>Pe_5BNqY}1z;D8U(J zOxS+Iuz+}*l#2;$_Q!MZ_m?TNrBEYw$drUgj7`-kE5*JqeGIX_9QXb*W@*Z_+=5Sb z$J^`mSG~&^nxchi3sfQh*f{UkKCFFM_p#5P$E}$$*(o#=F;iNEgJWeq_RU1(U`#DG z`xuTzRaE!5n>QoUbN<8W8T@(U1f(z_Fa!otmXuA>=}p%^wQ+iUn>H?bS)H{$2||bzm`o2$A52y7{G!JNSDX1kHoA>WYF$-jUhfIC31>Pw~t#< z9B)%g237*UuA%wcT>AR`rwWDv3fCQLf6O3C+l!yf*x{4koru5{dAJsTo71_Bd1&rc z@#}uC*Wc~D4>9zIjTpu%34OSqMp}8Y)VG7wb!Q)p-S0!1!4mk zQfH}vSeI`SzujNiUnYpAX==nuVuV){&lzAgC-;<%U6=b0GZgl^``G(+==YB$Z2_#n za8Pr9hko7PPiluG>_eW!>%FSx*XwmF4nrTqzujj_nKA>Z852WEyL;%bQ>zAJq%dYy zg_E%=eSb?&F*#F44j?j!!IT`jT{s#GR?mDx%A8(9oQ;eGa%=qhQf+BvES7?_1z-*i zbQ+Rye%HH=wWrTD_ddkhhr}l_T#BEV!BJ7ouMq|lXO0{diH`-7u@Z=d87^H8yV!qH zypm)lFo9FB8XOZ0>XzQ0jF45~3{taW@bL&Tbax;3Q!5N8!C2YQGBF!O$o`%_DLXQj zY&C@Nsj8|dZokEGYVGtYDhfUcVR!x`V&V+K-B5<|{3k>v43+744R!e$IURR(Ws<@X zVRbqV$7-ueOh_N`nZdAxohd2(>M{xU#r}4oIi;pBRif2&D-QSj;r8g9Q)0(F9`o=3 zt*Gncbs{AtUIFQJxP&BxNL5k1o7(&4u&9_43I1XXeZAiwitq3YbzS=JlBSSj{cgoz zhVfj-P$xcoS^}H3_b`(|p8ZysvoRmKUELq*_!*rE$k3kdF%NYe>pq4U&KpZXX6>nu z55}+YpD~4!k=o{1)*MC0RK*5R`?rv!V2ef16h^ZmLn@5QzJQ)At(>xE2| zcq)_r@aX2EiO(e^28KQK$d5?Y*lF`Wg=iLk{dhDFeFBwyqQ-}IMHI4=kGrUGBBX*wzuoLKelG6%E|X- z`B4=pYd7Tad22}(W(+bF7J!7tgO9_AG#%EPl!)4}Ynj+y`5mb#cKtRJkY&5@ZDDGT zD0}(}LK%j2my-SZgMmqhWSYJ22oR^;#h2&B$jF3DnMsJ#s!X0+IH(pO{}?-@njT_* zJ%M2gD1ph09ZZpu*=84Z6A*fVQM-w6BO@++1u_}^PN6W|!aakf#zd4Zb?-=#9{Qhx zHt|gYeO1uDm)Z@hcpSD8-@wDY5$tXHycjeg9(^kHx(+)qPluh^z1e+w0#ug%I|> z4+S8W=^WxQg^4p!uo4`|h#(k;xEF!wtK5x@w5t1|1BpU}q&rnrMg2PX-Em`_B4g5X zY)qL>|W0@enVe5Vq?KF-$UKUB+#SyTyr1pF9;Nl4>3vJ zq{dW*0;Wbo>az-_T`T}(=e{tQJ=a@8if!n(ip)?X?-mA(Pu~JUqE2$>bo$5iuiyTcga9zs{HmRHNv9| z$-m1Zg{eM$VFtN{gMc7ce^8=~&%PjGq?hC=q$$8`Ml06zvpy3P>D(VP5?+#hYO3ED zZfOch843p?x*va|W?-j!^7YIaT)&5yLBlmuHa_JC7|6q0(*GPLX6C`^3t7j+8KY zzQZt3?L%3$+?r|jS0)pw_I=6>!!ESMkZrg?p>mEl2$^CZ4kIyVa9~rJp6j87G9Gbn zEYL^ri-74CJ_6#6Z?;OT%OUo;zaBFsl0*F<5m@7$6XSbWWS?J_6ly~Dd*_MogQsr( zdcT_?oFYB=y%=BoXapzU^~4O3#&01+n|MiC3^q0Xn3BRkY~y*|4dk>$-_a3 zSnU#SpmYC&66jG^j*Ru(-wa}M2@l62%&+Ue-ARbj&FP$k=4L`9{H?z#Ok{gMLxjaQ z=8VR$YZco0crZ2TdS5^xp(HZUq24GH73Cq69fOqh(8t|O1Sd?ES*nlF9~BJxqeRqV6(tX@_!Vn@8CYX>gKaxHb!Ri(Fsy+yjF`w5rW@LDT zOUjO{-N$`PzjFxjd44P^83Ze%>{aaR;GeU=cuJB1Y=kP#q{Ktqh|neu%+_`)R)mSn z?m5VyRX#yTtKk12Bic*7ABo9`iFBm%OF2a*pT06S&YFCreZ5guxL3Hg%m#V?yJ-q% zT#|{vLx7oB zk-rEmxB4nZDUR{7G8i=L4)^Dtd~(QG4P7Wzm~oCjdHg#P8yP?SOUVdR88&LnwhbZa ztI^1enFMUG|3Sbak83R7?=bj1DU7Nx8LJIZSzTA(;j9Q{@m^mXTJ>H4$KSXyfQoR0 zq}cdm5d~%2x9^k0Q`M{wq{!$Uejv76sB{~iD^(HP;_Qt!C(eu zTOlPyvRgTM{Ri;=Frp&%yX zzoxz(J10b&-FgDZ-9jOPbd$VEpK%f;b#jf9sTtaDvTxln58rJHg($0Tiq9n^J`A5~ zLu7`G(cMEh#gM@nRpAE_di$0@vP%{ir(N|LC53(BLyXXs*OY{n(`tWZRf#K0#TV>18KI7%w`#&`phlvy<)Q>fx9I~sI{DwN`yx^D}=|!AH~>6NYVOU zg=os(#H>?&cebj_j+vC*P#+m)kaq8V*{xV$EWe>#C;Q?xIu+Ue4!fk@RSS&a+Ibhl zq{MXVD`JzXewZ4Tb<>e^Y{E>-&R0ala!n?%$;MwyU3&I25xGb5ZrPAQh=unxD=_)5 zneiqWi0mBC0!4cHD){~&hES3eM$3<(>ELl_592XzCNQLS7;9 z(bq8~>*4&^Wbb@dv-VO)8jg#ZrMI|i?e!~;>+9{cQS0N?9|Xz*v#bc=#ZG9u?=Pdk zfn_Y3JdeGP-Y5NSBql?8TJM&OP2|;=i&^2{DHQ1tE(=tdGczSNBjfQ9`&m;mYM=2r zyodXH|Lk+`!*w49r4(&3kb;cUN62?gk_R6{9%|o*Fg$#Cs54@R^ijW4wN%ex-?A|q z-O4@;^Ww<1^WFR1h6$qCG2cT-VDC^7mS?y*GaL85|1&s1g^dZur)SdqIT%RK@y+Cn z9kDEbhieFRxUnfa5VK-?E`9X<^HbbzRaF(AYhTAc`u-tG3Tm(Yi;&W3-7Ks^Hr{>w zZp}g1jI-C!hli0fbkF{!#>7*-Q>Hogom1lR6XI}c;Yiq&$N5=@_hJMi_m^Ck%!mzY z1aq`G?(+4!H8Mv=tE#E}wU|sQ502m>PU&5W2W&Nnr6sD-N)cVe}62_0jYwgy$^LyVYeX% zWX$c~VPD4RL%BcCqY;^-wrYIy=r0bWf5}CNjKBU3bqd&W*!TPMq%E^9&v=3mwP9xj z;r8y6e%<$Z^u0g4SlJO&7z$%$kfrIo%Y*kZ-tXVyet-5MhWqSRa49UCeem>dO^~K| zeM9YibGg5VGKNqOvnfoid&iI;prrS3GBJ9ET`TmzZISeOh;?#ERlsw2vVrUpJ2Hd2 zh4XJSO|R;6>Hj57HA0PuiOEzT!jET+@%ov^%vi`A+~%;W!@Wz5LBQMx`T~^NX77{c z^BV z&M}O$;u>PIE1aw#24{r!@7#p?dh8qvnKCgO%&^3Pald6I$E2^avHzXI5lT8Gx0Io_$@i~Cg@p*B+7wo2};TvdX~2)4$F!%hB7o|Q5czlwDR?NMHU(&vdTZ8 zu)Cj(6_YPlNLfe}t4qj;-KKu8c*RpJKmwh@I@HPab81yrP{rzyhi7%HiXqnbmoOBp z-SNK5YoCPup<5Xl3(>30Zz2w2bc-PzGi4?gLN;!Gtq83^D>dnwrCfBwBNMhM+vcpby;VUEG$ZI{Pq^&(a= z?HQp_0&4qkxl z9!`eUxBNncj^RP3_Q+>pf;>W@rcfKJCfUs?l$35^SMMf(Q~O=(e}~SLh(N4F`n&pa z5>QL_j58dA>=te*L;iO8?!08s6szgn*UwW6ONlq3jCWDc$8TV4Wn!$(k{+sj>o3dl z4b4^*xb_naboZSR2%q?8fQqp$=jf|8Wz*HCE@yG1`tb4Fkubs35t%qacJ9NJ0VcD* z2wX;Zt%uZH5yPh=fe;ahyHD+p$}GrkG2Drq75>D^v=56i+dk<));>dszL^{u=5Tjv z$b6H*l;{~Is2Rf;b_@Rw068qXd}5CK=B-e$V7@l>aVu<0Y5O=)Fah~@QO zbZlxW`0espgcWmgF`~Z^PjHZob^boX^L-LBBDPQd78qL)z){s4tyDna3u7F&l020m1~{$6wM<8CoJ)Hm_F)G9%Gb zQg$o`cZq+d?2?9Chiy_)YRHQ9ej#!MQaJi+>ir1DYK{Xrup1k{sBNle?LX2Qu@&_` zB?mp#-__ZF9GRdk*2()ZX5;A@cb$>J3V#p~N$_e$Z2P{6v%*2Ucl16a`xC1{QT+Rw zvgt9r9f&ST2R8fGGo0|akHaJkRhIU!PTnJ@DqRy^=9EzQ!69RIx6(gbu&6xq*`Y<& ziCQsgV(#UitG}PvO$@#16G%CS-?gwe^o(-LsEu{ zz{;=SC$?wH*<9arHDb!I;7MNP2v&1jjUzkOJo z>9rO%*rES9h286kj10c-1ZGvZivp&pVN*AwnM2br=29HO(TH{SSK*B57Wz)vQe{p- zW&~1*>n`Eh5h=1$>FbchP=7{FiTLP`2GS+$SPe4tXL8Khlzfe#+g6i?ce9NRb*OeKuPJLmPX_b7*siO3zOj7p3ty$y2Dbb%l zLk&Man8WN}}+1{YzCb_5Z32#IK}TNEF#2@l{I(XDUjkPQ z<|m9`cL*;f!g)OrjDKb5C#0+heRJ2z03b*aVMoHYoAc7YsoWCo;SB#|)z5 zZoL?j4E{yLR>fVtKi%^X%KTs?1e@-$-hCg_cH8|OuSveEwnENW{`z=s;iMZ0==@;D zMn#;MS*lQg8Ao3zV7f|rXBltH{5jO|`T!$+lvfjB8RE+v(Gv0k#!`eSW$MDen@D*t1z zWR71pGrERTS(nF^Fy=BAshOsZboo2phhaF}x|U#!7O!WLUkOGW{DXlio{0tNx84}D zRrRclRprZ!GtlZU?piUZwVh-pSe=@GM+PYStZziDbP3@C5p@02sW89xdEV?hhMEoj zPg!m8>%RUjL}o;fq&&9@B?CEzs6iCu;HW*(yQL3ni{CSU-KC=8^j5^1(7%Dj1e`#&(DEkb@iuly&?JiWRjD?cZF&BGN6)SH3M(il=X{&R} zW@5$3H`P%UATr|E)!}Q79j+;itr@xb-GpYlI;_rvZ~9fMITg+n#qs)0$=_Z=@@__f zk~zsw*O`r#sj4SoWxCeqxY_%V*5~`H1v{4I;}g6u{h}=U-I8NrjP~H`)`)2iG(z|O z?SxJ4&*phLMwlRW`zCyjtYk}{9u7*yYh4ai>kQ7dhoKDN`K_we>aeXtO2g!@1cz1l zaAX*psj`7!%ijMn5M{f#@0--`e;T0>1=K+EbvM)@oo5wcIBVbD&pDXgEhB2-YJV3f zWBhvGZx2}CcLfymnzFttU^yPi)5}0Fzjz3ov3q^$ z5K@`SX|++3$Z}syONyX-?;iydIVIv~O8IWFJyq3xeAc5HV!b|rNLPLsqd=M1z(w~d z)47O7bbR(HeP?4u?u>;1HYFi8!Exo&cC^@?v-ECBTjDYGo-S~(Q{CJVO~4kr*ZulB zDnmdhmUVUq$hs+=gp{Dnj!cS(9geP>(L|<;<*poHbM#` zH=YNdWyyyWro&5>DJt9ECm*UK%*0{YXJNRI51oK!kEu>3SrtF zR@MHtF1>%=%?e|S_mHjv7nx;Qd%w?*RAqH85G*gD+|Lna1R@Zz+iZjHYeNKovxgF_ z3gJ7Ob)RNEGtsa4n!&z)+bSaNp{Z2B%*qU5VlpFVg!!G-e?&%@&!MT`_ans!2&7w0 zK6{=ZAke8V9|{nzWtd({AbN-0kt`}#!@qjB+C&mI*3Ikd{|)EnD^TLKpCNn?{@Q|= zuuo?QHsQ&ns6zHh*5F8uFFvNw{ul}FLe{@>#+(C7%=+_88$Gk-&_i1sGFa@*_}2~bC4>`*u~!=)nzskLteWS_A@~u0B}@*V4&+dJvXFKtD5KQ zT!wH}fjOmW^4>p3pam#@9iE{~KBUF)J{=4Fq)~YM%Y5{5@Xkw6Bt%h&koX3f=@woPX+eTB-PU;iWM`<*Kt`&1ZoNRBvG*?HZZ z!I9y_{e6bu%XOKOubY3#e@~Bo%8B^YH|N&K7!fMn^7Yp_ickY<{`40IVmnSDD<8yU z5%ZRI9Yy|ReYJrwA`8sOzyuwg%L9u zvFlFP!}qY$tmAMxEs_2uR4*! zk=VUX!y}roQ8XCTlngdcSxZJXrjHo5sbki4d4GNSdW7JR9gLWtp~J&3&V?u#VgQ)Q zGy-gbIr9a}+@}Yk8L>SkAF|tib+`ndc7Lv=oOvAliAl(A=>%cu!>2DnS=g3)@BMUG z62k~W3N|dyz4xP#(cE8v{Olh>?h#Vfhd*j@T!#^ajeq9gNAT0AMvj=l0(Jy51FT91 zk@)ocTp~>8XXtkiAtg}$m{NIQaz=J7CnqTQ&p!)g`}uT_+e(7i?R&6_b&7) z_^CQx{fbnS&*=^+p6MF3FlG|QaUc4eh}v~JIJ;h|PV{z97uadLzfxkeV#r_WP>3R-f(QvlK$Tp5wkb zSR@p`W_=e{SY(R;=VUyt`@6!S-KG4X z!R@*3Q@=h(0tvq53M_D;7l^s5-!)rjWF4g?MN^60*yS+e{IEDgBFihk64PZ_n?O;# z)0sgsABNz47^>)uINtm4h=gL_9F&y_1mn-YttgTF7Ed!V-8IAFWel$TTUf~1X(+SX zd6)XSQ)k7z?jy`-mu3?1U(=@(n-xzwu&Ewb>wb}@m1AdZShvDvOaE1-b{ifP4YnEj zD?uUoW*l2%RamV0=1yufHtP+y$_l68&9#&ii$RBm{nZ<10 zru7k~c!m*5wCW!sPA!E{i16K0L5$_ohv|FqX)mPMHl0EFSYFr(R{gqVCUf^x9*7(X zqCia%=dDiYVOxGKL=Bge*Kw* zqzWriqF+|Q2(eFZA&pZ;O0s!2x0xMveLAV5mA^8Pk>%_;1OSd1Ta`p!gTfEcV@ z)nVvVA?>#O9D@H}nVm%p@tr-GNS0w@A&3tvGSEJpKuX88e?&7TAvvaA*?3$W7(%bG zQZltmQ$e)zTVl0)`9898VWS_!iifY54DMMfF`N(CgPgF+Yiib2XN8bxx9>wZ9Eo6V z*9_|r&Z9e?*5x60B){fMAknpt2GUD95gT@)V3 zkBF+UB86`KXiPc7JyTR3!=6bPyIzQtE(_mxma9VBvv0!itq!-r`|>gxvla6t3yr@l zl?C~-u4g!jeN7Qem(;OBwqXRp`b@xTxAar7ao0lNCXd!=^k-+_SE>kVJorB*dZ&?~ zsDnYqyCQBAh{yC{fy0m@EBKaO%DN+qrcS!UGc1}i3&XxsArt(DY`TQ=#!$YQ-Wl)1 zRamg`7cn^7_Al(c{~n1XXJd*C14V<)tHJlbV_0`kjsmcb*~g4=^Gg_Ho4pu{b9gZm zt;+~AtQ&LU?q$8-_vOAYwK>!+0Xq1WMC|AL)|hu*NnwY@Plf;9eps;*PoV>m{`}d< zjJFGmd|x-~RUs^}2t;FHo2$W>ht^*H2BG8bWfHOPS7e}zZu>Xh$k*II<0vjqa0Gm3^P|ZW{%pmL1%%C^F2eBQp2MF=uZ;n*a zt*Wktu>Af_M`G|ftTaMx3e5=RuOG=V73*dewj53%a~)0~w!HR773i_K7&E>6_Y+E= zZl6_E9d_%cFNaY7QA@O{|48ZTzd4RO|29YTC_f~yWw;2l+2FUPOn>2HCTMH_$U)9P zipY9u!ikC8CasSk;a5oEMQT;32*y^`Q%uc^-S9%9OcjQK~&(H4nk&m@0+M*H2KVvJboT6*zRkkLE!92!8miuB-RZ z)bBZ}iv8;51yQq`uUdU<`z%}<8fGKM#cExaK9t)fk%0M}hL)6Lv2Rvju`%<0%0<~6 z=ey8n0_9^x8~nzIv1)b#V`z6S%i#M|ewR5z zBX{d&1!K0qwBCTDEkB|0wAdX1mcqu@Ydl&(Ch&V z!`_LQo9pmG%giXoT}G+j9rFlt3TCi5()Jq`C&%oh-DN8#;;#1L%mx(R+7uer5$NhsE9z#6bWSg;9h`<^5UMf!m9J z7TgL5#;&4M2;morU`|Y7gvUD7qnQJ6_7{nS<2hx1HkHEKq5p`R{h;DdY@3x(RO!|} ze5^c+5+&BGXo3;bX)K5%IqMYECm1lMT45D zl68H^p4G;{#75nI?Xyo5FbS>7VQFkOrY!AMSqP*%u@;+tT zKQkktSZpou-ZuVeZ@v)wj+sMR`xH_I)`(f z-<+e6RAts@eP}M9I_!=S29A$sO7-r%TJ5((O5r?1jEy$Cay_>o&gu2`{UI_4E#oyc zR~i3zjEpEO1zERE^%Z1}9%0)0ip`j+@ZqRr?c4vmv58qtLKsin!bs%Cv zbZV+3*CAZ)<7;LceYozj+0>8^VJ4Urmu%QB&H{zCyU-t65X`{J;P|Nha3V!S`v}=p z7}V0{w}1BiZlj1~WG3@CF30f*Xv=2Ue6sLqp#VoH6L)>KYe|U-bV!%j65v2kcE6|Z zLl&|{zev5`z4|^Hk^KCQh`HFN?Qt{shms-EKBVVr7Eqxa=fhO?-x);2?X}GAOkx5e z6WUxB)5}3YN~}bp08>OnejR*$Uj8j#?GdCfgLJ+B&`V()^R2HyU^6X#pTTE7WS8xG zyS*guL!UjDV$gka;sSJP)-CBN`A$qC>3A!fFnw05>OJ-4V*6LXfvo+MHK$iHs0SJB$u=?R-5`CDbdP@*%%I><#`Cfmp;|gVWSW+vvDZP=d&+EbJ>2bW3#V;WR@JRf{ZJiY#3o}y>7X!m_6hH5e;a)A{`)5o5*9Es z3~a}0@Y&_n2eX2@@|GKjmVK%pq)>BgJdfk}S}N2*V0Ju&l=-sEQb-~5KJ}OTY^L)q z`0Rb!C|Jd8ylzwGv(Ri`#AGmgeKUV)&GdgO3VtTb;WjCS5dQW1M_~pwQYK?&GF2$t zW9pNCi@{a?YRq(;7SA&5*_cesjG~c(6&fLrwfDQ~G_w&=F^{YFkb=LQHkf@_r!4ii z+xtCu@B7+^Y`0W1Wr3MuoWi)8 z^*Z}-SGAm=)QTaZ-7eOJGk|FB8&iRctB|Hq1kw@;*Zx)S+wQshp0Be&L`gOOhH#Cx z4IPZ#E*puuT^VkV*0CzFflO$5sQZ80*RCJU#6ZMgGh#9PcD>K)jgrLQdVMs7+CEKP zOKi*%p@6}-y_FY^1(fL1Uzu4BAsxhw$(T0Ri_gl&r-ct$-%r;ggb3PRn|`0~>J7n= z4F$9veDAYie}BcOavUG$srK1+iDH|z0-}l`A>GmOkw-VI;6MTY}&d zcHea>Lr8tf`Z6>jg%Qdc0%Gh=*J`!8o|Z?B1R>b7TmnSLzHW0x97ErU3QY9%8T{}) gwF(v<(=bEbe~1uTam~7xkN^Mx07*qoM6N<$g1sJISO5S3 literal 0 HcmV?d00001 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/icon.ico b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..719edf88b9c6d5ed636b263e2088783c9b87f5fd GIT binary patch literal 110324 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%0AGH{;~f_%Gv2YcrFx7aEHtra152Y#oNn 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 R2kR@b89IjANmFct{|BE16j%TN literal 0 HcmV?d00001 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml new file mode 100644 index 000000000..9c7bb5c37 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml @@ -0,0 +1,6 @@ + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml new file mode 100644 index 000000000..e7d9b2b54 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml new file mode 100644 index 000000000..12c62a092 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml new file mode 100644 index 000000000..7d3a9fe1c --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs new file mode 100644 index 000000000..2eee6d7d5 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Main/MainWindowContent.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace HandyControlDemo.Views; + +public partial class MainWindowContent : UserControl +{ + public MainWindowContent() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml new file mode 100644 index 000000000..18c2736cc --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Views/Styles/ButtonDemoCtrl.axaml @@ -0,0 +1,17 @@ + + +