From d6e16736e4ee6a6ea808ddaa9b3593570cf25c8a Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Sat, 13 Jun 2026 17:15:54 +0800 Subject: [PATCH] feat: Add Card control and card demo with album images. --- .../Data/Model/CardModel.cs | 10 +++ .../HandyControlDemo_Avalonia.csproj | 2 + .../Resources/Img/Album/1.jpg | Bin 0 -> 7566 bytes .../Resources/Img/Album/10.jpg | Bin 0 -> 5465 bytes .../Resources/Img/Album/2.jpg | Bin 0 -> 4745 bytes .../Resources/Img/Album/3.jpg | Bin 0 -> 10510 bytes .../Resources/Img/Album/4.jpg | Bin 0 -> 9390 bytes .../Resources/Img/Album/5.jpg | Bin 0 -> 13304 bytes .../Resources/Img/Album/6.jpg | Bin 0 -> 10156 bytes .../Resources/Img/Album/7.jpg | Bin 0 -> 6960 bytes .../Resources/Img/Album/8.jpg | Bin 0 -> 4340 bytes .../Resources/Img/Album/9.jpg | Bin 0 -> 7231 bytes .../Service/Data/DataService.cs | 26 ++++++++ .../Converter/StringToBitmapConverter.cs | 33 ++++++++++ .../UserControl/Controls/CardDemo.axaml | 53 +++++++++++++++ .../UserControl/Controls/CardDemo.axaml.cs | 9 +++ .../Controls/HoneycombPanelDemo.axaml | 13 +++- .../ViewModel/Controls/CardDemoViewModel.cs | 28 ++++++++ .../Controls/HoneycombPanelDemoViewModel.cs | 42 ------------ .../ViewModel/ViewModelLocator.cs | 4 +- .../Controls/Other/Card.cs | 62 ++++++++++++++++++ .../Themes/Styles/Card.axaml | 51 ++++++++++++++ .../Themes/Styles/MergedStyles.axaml | 1 + 23 files changed, 287 insertions(+), 47 deletions(-) create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Data/Model/CardModel.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/1.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/10.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/2.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/3.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/4.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/5.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/6.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/7.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/8.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/9.jpg create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringToBitmapConverter.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml.cs create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/CardDemoViewModel.cs delete mode 100644 src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/HoneycombPanelDemoViewModel.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Controls/Other/Card.cs create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/Card.axaml diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Data/Model/CardModel.cs b/src/Avalonia/HandyControlDemo_Avalonia/Data/Model/CardModel.cs new file mode 100644 index 00000000..8d5b9342 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Data/Model/CardModel.cs @@ -0,0 +1,10 @@ +namespace HandyControlDemo.Data; + +public class CardModel +{ + public string? Header { get; set; } + + public string? Content { get; set; } + + public string? Footer { get; set; } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj index 84d45a59..87f431e9 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj +++ b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj @@ -20,6 +20,7 @@ + @@ -27,6 +28,7 @@ + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/1.jpg b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..59c950bf2369a2681cae9786bd2c99effd88892a GIT binary patch literal 7566 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 literal 0 HcmV?d00001 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/2.jpg b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5866b3c16c5d0d5de5e0532c0ae753425f5e62fb GIT binary patch literal 4745 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 literal 0 HcmV?d00001 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/5.jpg b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76a7ee2f1c315eb87f956b06ba8afbad181e781a GIT binary patch literal 13304 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 V)Yn<>%8+L?BydgqpAx$MKLC2(h%5jA literal 0 HcmV?d00001 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/6.jpg b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6267d99af29632be89791ea9df6b950bb4a639cb GIT binary patch literal 10156 zcmbt)Wl&sUvgpjhVj+}&LVNpN>}2np^GAV7dicK6=9 z``({d^}h4fsg^T+`h3;h)!oz2OV3*XYy}y482}In003Vu!1F5LBLL%NVParnV`JhI z;t}Fgkdcs(QLt0dyj<*3EZi(FTS{17h)+mf*j`IfQOo{=jhW4dl(4XruT5X??w*1F zzXG0n0655ibHF(qkOlz40m9(`pZfshFFGOs|El`m3kZUPM?eH1AwRDGkpIcZvFN%5 z_C}n-h4(EI86cG$HG&w}{k-x;dSUv(J`@J24sL;betuWUSA36>(wJhh2%oS&-ck5q z4tphew0t`rpchT_!U9tXvD~}9Ja3j=8Fv|#qL;D7(mz_8^^=f*sUWhx;ZlHcwthvL z4rY0i!_zpp4_4(&UmO2{yEk)aKyD(khgVt3%K`}_$ZiiJG{|C@hpw(5shO$0S*g#_ zu!w07;TknSN?NvXSZOiU7#iwNZ0kC-!9ljS_2fn8CA3U`24I`#!=molZ_K5V%C1%e zacJrv7(1?DSkU2Gkr9l`a8$T(dMe8%Q3o6Livv*_L1Df8x`B$4OpIm{R++ zqtv(?;+DIs?BMZb&urA;xAP#Tnw~oA1wOlx<1es`CeSPkk|2SDPMB@cCvRfWCso=s zwUZ)@-{L& zCrF>YN={8py!yqoiC@h6KP(#nfCGZy|6$f3>=$$Yr37FV03fIXPzwPBasZY%fEE>? z<~;y!)UPC_J7XuIQwc8fpVV?Opk^Sb^BjQxBAE1_g8$uV;6ZRe1jK)chWjh}PBRcb zX$gRR*aZlK0N@2{0o3z>K+H-2vbQ=wqcwm>@BQ^zjA;Lmk0wQI`+xI1i~*7r01yR! zApEzN_q@gifIuK196a2Mdm_UzuXmw z3|O2}43^kHWjj~13W*ZN7ufnfi9qPh-_RqSjmvf(Z}l-sm`-PF``?Lme~D~59K-oG zUz%?$gt<0GkoYso$S@bgComergd0=eB*d-F)i1zj?tg9m;HVdxDgHC1LW(F3I)5#k zD8C#xihof!?J`NCm9`a=vABo-43KeMo}l~#{|xv>?DFlSc@CPlMJ{#^@J9oFJx=&0 z{MP*+5Wm1+7fIRuc>3F_%sqkec6o*su!82X{os#|t zgn}mg<;P_o1>9t>>kh6$&7)%Pc-tcM6RVW@UklS%>jVR2S(60*K+2Cu7O+y1)!)OrlG~uaTrO^RadV~MrP`5lpp5Pjoot#c(E(XOW|`5+%@&9gG`>D0Hfc~N zt^f5oAUvD#(4eZ7oetafte59Tq0!6-4cUyfXBamEW!HhDeE1oVWv2a3w+k};!G4P( z(}djk>Ae*{Ke-E+lcnRpa>`;!i|?;19m*hA<@h+i?eS$cG;WkPYR3hB5Vqw6?F7be zb;)v@OoGD7%SZEzbg_?`Dml#T^7h3)bQ8h#RaHt5EZU7_)x^5}Q#L*)E{6mL$KO?r zuzE*buJqScnG`w1ZY}(ipJndgtxPWl2n<~fq)xguN}9U?AzC)*{=W$NIHgIrIDi8I zBEBPux4kZc0Y4P0Mw1U0lGS)0cS1~(o4ap*B{vvA(iL$QP`l|K^Hx6&aq!mm{k3w& zEaOOdL;tpA9!fL$`F6An!TBmj-x>3)?+a5$em30F^*=e`g(|Jj7-lOyAr78)*PTZG ztgLz#9fz>%TdNY_VRdfiGhig6;uae$u zkNq@ri)+IhjT8kYJU;d6DeViYi0CwdQ|=?7*Y}Ft-7}7Ybh;T~uQ7&I#SG zJcw7x5#@WB+U$H|_)&bL;e>vE#=vvxscxC#Qp~Jjq*2bmb5=us5cLfBM0jo`qjh^5 zH=JchAejD}HYC>$JLP2Wc7FO537NRAt;Y?x*cx334M+aBscP4t^beqv?=-dO&vz#%51o z)MEF;byXJ2xz@qZUPA0MKjKj&A)y*JZ%oYo~ z=Fdh-r0d9TMYd0GB6IR6%B8$aCW`VUs~SrJTG8=B`9I%VJlGP`+7{mFug7BO&pcXn z>G27o`nhY+xbqOH3Hz>aO@ZOpF}sFX_I+Ky=7LiZ9h!JO=P`VC_G2PHn}AnPSIX<9 z829Py;JZr?6nra~ZFoBwzPvf|;alfL-1(6KzMrmG?A73VX>r+cr9-y`*<&FfeHG+xG*OmZAj*L!XD})A3Dl!R$j0 zk9?7ccwM4SdG;8ON9d3p%LLV-c20?-z03WiW7}_fUQZDRZ%JVu56i>(y$T788r36K zgQix4Gl+e%{K4@20%i=GZ26&Vd+Cy1hQWNZO#Mzpy$6<>vWlJh)DlZr^&%_%kn`&% z0ojm7MiPdJB$ULJumFh7;v2$*QR&s(d!1j0zuvS(7MUz+=jzUT3^!Eqf8c<%+*b%z zHR=JIgR{pS9LwF=d9ih2S&F3<IvS2F}}9GPaq-XuM|q+odO z*jX|#6i-cVSPz(E2s)2dzqA*ADA)JX6s(?anL7G3{^2oeMa_n{{ZVdKGf$h|#)G+K zq4T#PhGRC{Vd?ip_iI#SGZz(Rx`Wk$9f^d~{SFQ*sO28J&5v{qnn+TZTG~Re8e3W3 z{qlsHU+(gFgL3vajTsqM%Cv?Yaa+gIFv|sS`wE0UMO(7q_{vpp+U7n#$%aWwM3jCy z#(c*88KAyYrme${sybDI0QJq0b#h=Q41Nmj&w4}~{(2xpbYrc70x0C4^1A6%81S#hliQmO^NE5|AKPQFL z_7a8vcza#!Wh!0SguGANo5j55bkY#MH`!$HnVaNK+cW!nOBBAe%2K+D2=gEVVf@wz zp~D`g%i`lnA4Vn29Blr2OcOTz4(BDL-<^4Aekl&Q)e%zZLP&FNXJBYr>zmZul>0ZDz_U6wO_y8l9SyD zA;!3iIV0h!7LZkC6YQEswl5zri`z{7v$tECtBcgGu; zu)ABg`oPRAahtBJFg@G(3pz82ppg^7=Y=b)`X&SNVPp8g?x-ohJgni&b+2jeweYn>DZa&USocU`dh=GMu5XVT%L+`FdyjQgMcT?6 zLZ9H|B>fUVC)~33gd)110nrp84~d#hX9~_IUZ1duU!Ue`YAR=+P-tV+uMx_iwQiPv zCNt}7Vx#3P&*ixpg$HdGEMKG7jRnoVg*}lw z?aDs>q65gML%z48u`utoCP9pKW*eU}{SPGs1L+=N@p8ERYn2l@WXkHths1O+^?n^g zk_U0Mj|5M&^b{=x!8b*1Lhv6lswcSu{xQ0WV`2?5DcPv2^Z*X-^|SGBkiXqdCSQN zBaZ!*h`@1{gX_mZ1vw_d${nf?Zic7Tir{2zc{Z-MNc_W@x0nl7()MWUneD+ittOc? z17o@zD%7kiuaF)80I=7k;w@a${5rISUI0Q>XG|c9MGgZR zM4Q1Dn8{jUs|`Hj>v=D+y-vdBEq~-=?WE793EXn&d6B!dRVUlcV-#nqZa!GcOui)W z$-<7f`tuOJaSNnFtC+YXZplnuCpEtum{V)E`V81#AL%^)qW}#W;XB$mqhvbCIU792 zujXb-Y#|B+_6y&*jNH7x^r6;#2Eba$g-LQ>LNibF@o%aJ>_G1Rn&&0>Xq_oJO}C zi5drDE^@k8vo^oFo%6U%wi5|r{jD^5Gk=!WGb5rFy^8X63*#S!`>4+t8n+$0{7N4E z4}t_xY&sNLhjgmqoF~h?Hkp}3ZUwthm3>R{M1kcrEV32=<-F^286;_e2b1K#C>-$n z+gckIPN0wIrjzk4*%!^*v_8kN)38706GOuoksX9*w6LX6N-BiY6OqRRM3jX7d(XfG zY9t__24RU>;A(i!VRejLwWF~w@NVg9VldlN_$q!c^Rw`=&mQfh0EN#BQ8vVf;$26q z)(;|kcx%`WEdY=qr4es$D(kA}h%(7haP)H)=GRdv=Kocf^18YF9o5O~=cKiuizrw) z`W3ckP`06{^C@;T%vy&@_NBHIe5oy8ieWeeM0f;vxWBz0AP5Hl2aik5C9Y zK*cSg9u$v2n^%X=S>HX)qj7!#mUR7BnThfi(5lU5FR(!U$ot_4`#RjW@9jz*miFe! zzi((*#o1qcqo&iysmUndUt5PRk5gtoRPDL~<+cLtwnFii*GBaEWn1|F3Y2otUu>4Q zL=FFXJ?M~RyZ7l;$Z~C7*!)W7HXzyD9K{>h&%J-4La`dC6-IK*EhqRW_auMv)6UhN zV24H-1C(HbjW+V0yBH zXV}cD0a8+LqZ$$e)Q&j;6_NWrT3?1lg2S3RNIlc27rdF`r(`CotcnSo5P5@p5h4jbQj&>EaKf z+DMERMM=hJ^SNqYX3ws^k4?@b?@Ku1Nh3Qw$5-Xql6%ltg4|M8D}m6};g2Nn>&PCh zVglf0f%HETS5Uj}Y-TdbTN1ODtv8wt6b#KbN`&f+WjGLegk;3+G{oAc@0^~rA1S&O zyeO-zv2Knx+1&`n{S36@8JJeX><1P+-Ymnua5Gec7OF+Q_|-HUJbYEuW>4NpRsM&9 zGaJPpZSKmFOrQ)x55;z9o*S!WWNIZ z=x&I)B9d~E&aZ~fkn`y4P$}V>u|wbAaZxE+!C9$x%GjPa7z}{L;iTj7Io4X$qV&2(wGT%yzAVq>8m!-RE5b!92$p! zcOpv>VvE9Y7_3(2EQaQ>9h415S~R;3nejnB^1NX!M9Gj^t4{9`e1aV2LgPaZNSwJF zV!~I_-Oh9xW=j#m+8Z3f;DJxshX%aHfgUO!y4#J8*tz_RiV&=@NJxkeZUR!sid)69}dE9RJT#v z9FJIOlDMy1{m8yTV7hH28{s~j))wtbWYy-G)4p`%7-uwVRbbJGd_yS7 z(C&QCIIJe%x1Gj8K{fT(9X$%6iNiDC7UH(_?SqQTxmsGEh^ghaE-Io#y;uR~cM%Y) zTd<`OxT=!YpprMk$@fp4CI}WKxrAGZOq++JYI@@?JiRY($v7`&i-B8ENNV@Fhq&v$ zPZhM;KZi<|XvC_`d)#hp6K{XQC}@7+|8@yStg*d4o2aUI{K?bo^rw^vR;Kzq;g%i zdKK39O9Cdl3!3Ilcb9h?+r;899JquVxe%rw9=3l}mg~}ucM0xNIKtb0N-YS{$10_z zLRhXxD}EBz>6}FO(XxR%4c|EB?_l6!@Vgd8apKU&n0{&x0%31UJ2-8NqN zZ8NmtIt>w8WAc;D9R`usWw2x8+ehokL1SrlSeY2UY>BTY{SR=lG`b#BcfIA3f2+HAG z&u-*5>mpbL1xaSq2sS?TPSMoVo$F6-*ye^KTq4e-xq0A7q$Qe6}j9?tcR#6p$Y;N!O9{oy=L)#3z(8noNJ zH_Cliw&wPnEUUesDCl?3@!@eZY&ZX33nv*1>(cE)=)Z3KQhfNdwif7`h9@|(Ob%~| zP1qVk5j#ii@WxJ+xy@UsyTJ~bBGvmieQ25o2?vPh3>aiq$f1j=gk_gr&1pQCB%l1L z9s84g=*f??Pu5_j(tD!hv)a

NwNNWOz1OPWjpO3bT5ckXMG)EQUR+$cc3Xo2Hhcmk3_lA8BygSt&Fg>oYz`&%~P%-I2DC&;K}ELW4s>O9o) z8bZ>k73QR6lJW1z3&-;s^6K9?|BL(w=LI2-vy__QEy9(UsP#=Pz92(bsLZIe1b&CI zZUvEP2RQ8gKxdkekQx-7b>>}-4h;Vk42ZLSh;nnZW?A1eaputbAdR;8mcOu2B8D&B zld5w|;exO)yugh%EGa&N8zs<&LvKuKk2v`Dv0WmH;=ju4x={%L#k z_qLsJd7sOb#$^p37kU3(ZE4haD$XpM^*Mtf7?pD(&pST$wNI4XpT=*C?Gs;pST5>F z>mQb(eH*B5(0pJ|piMPwYdP+Dt`1z5i&yDp4<$k(-$eJhVS7Ecsug{EO58lSHtVM3 zxXweDRT3Ceez+!!$sG$nqoglrZ>u6sn_7g?_-dc&6Awtpo;Jf?hd41$1VQKJj~m0Q z&r!a!JfU$u$azm$V_Oqf1U7P5F8Kj#-y!(A(#Gt=zi$&E2=$?6Ts9Rt1ah=}(D{#i z2pvI_uQ^Op{0!FKp~GyFAYZaKgtU=JI{m*d^bliL*=_?X|8j z=^C6|U0UYY-nvW)>p6vB_XomJ-;!V%zZJSEr4DjWbs|wt#*HY zHiXO4A>iU@-~;3?0#@%w#! zc#l}c7tH;nwk2MnO)V3+%IKSECx+?tULJnV zTwUSFenWW;W*fwOpLj8vRW(#XeC^kSS%S0P;j7+NN*GAu@HSF%Bq!(d9+BiiBGWAj z?~AG4-WBAEUZKL$QIGT&@64z3t&OML0`z0Z>Y>DiR6h~DaP zUy&1){4t_I#=~5^WXMzU=VREGIZWyzo1AoshJ^8{1Z&w^=H*a{5k zzzB}-m>=tgI1g=|uAqj@!6<^8(NR4%$uPXDHHA?%+@%)NMN0dt-cEGrXOL=GnfwTR!}c~fY8 zf`v*PWK}24_MxK}4)fY>ixLN!*^jz=H@NeL5?=5tHn`4mf_7cvKJtdPJ1(`hpy|iB zI%6wCPg4kcPExowV)p?g#tVS2%z;XWnycPC*_G@WpTzx)@>U>>wRW5($;h69#?nc|tvBPz zf*#Z{RWawh5^D`5tD5RbOvnCem7JOH(6|@QXXj*WR^&d<2~ud$P9Yd z8*xFjkhMNkF@>NKwP%2?YGUey*)PhkU+A^_>#`WC`Gat1_%S|lz^(ysWpqIdP0%@% zx9D=|svUesLz-QXgW^G3`B2g`Sb98y_ca5oBS)dkt#bInBEu5)W@&zd$oegoSzcs-nLFjVwKrAb}G26;Kl%gA^Ha*^6 zdo+b1h-5p0!w*xRQ5LKJFj0t$-OC+H+fiB5rK9H#F}R+t^P_UUK@=XwwE_QNPzonV zpc8vYr$ou&wh>F-97&zf32Y}WUg5h;|JfEY>GY6S?75m-aE>v&Hl1~p?#ERZf=8jD zq7W<*3~wR2(3f*=X@hARqOQ^*GppokU$dB;iwC?1&(pgj{d8E(6*_u}4Vk7wKB-Me<*#P|O(Ax1p@m6dL`W$^ zGNwlPud8Q3aP$S*97#o*RQ%|{{gF;;ceZAnB3_+CdRSE13Xutcix^-ad!JPT{q4!% z!_-uqyJNiAAF?A!d01`L8#wupy43Fvn#VtmZI|t*>vsN;QGC4)bL#w?c>He?@gGRj zt__7)M0(?jJ!6ut^=MZ_daayeyHk@c=Nmi-lp@TxUhW5jd4}|!>HKIZZs7@sf zW&AKHSZg+!TFI3l)m_QzTi$!|nFz50qc?^bI?ior`FDJP9tQw?nM-)-^ZXqh_`84r zI6O5F4-Tg~HVrP-OQ$F3pTiJ9;9G#l*nl~x$aSt-H)&KIW~o@yqh}U<+Rvw004OSmuA?@iT!JV;5C47_(2Fb;5-6qPVsnbTrM>#8VQrS zf6jUQJvEtl;l9f;8=nE1AX<8S6cVOfg<)wBM1cvnUQH}MArijwiz=OY{=b-caxYAo z7bdrA6OE7jgsI{P=a9+0y!Mf)pyU$OjKViPoEeI4#00JTrR2C9WN<>wLZ5pg8@3I- zQC0W>1N5KI>PjxrLb7#zEQH4jfPJ_^wc9AY>z{mO-~0<6 z55tz*?dhb=08t>Zp&NzYo9arg&I*v=3B%rB!lz~yeMDD!1{hpnb35vEeMNMok;X=SA^rI@E=|y$k;!FWdP^?PN)8*e%p~HI6MZ1iN1G;?l84 z0tMG+fa1r8!NtE{fop@L%r=k=9T13=8cXRaR2Y7bDpmOcDE$TgQvNT1u3nKtirNJ0 z=)BK8tX8}*$-kMtP$U?GuHw4x74`A|aSVd;$;k61$=N!}JWO5Mh2H-!n;nvE>h>j( LC)$Bq&#bpWiUq^bmfKmY)GYQWq|u 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%0D?{fEsJPUQo+7IjQ<+GCE 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 D60t32 literal 0 HcmV?d00001 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/9.jpg b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Img/Album/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e70e3fcf1a8cd837e548eb03f6ea5d7090d889e8 GIT binary patch literal 7231 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 GetCardDataList() + { + return + [ + new CardModel { Header = "Atomic", Content = "avares://HandyControlDemo/Resources/Img/Album/1.jpg", Footer = "Stive Morgan" }, + new CardModel { Header = "Zinderlong", Content = "avares://HandyControlDemo/Resources/Img/Album/2.jpg", Footer = "Zonderling" }, + new CardModel { Header = "Busy Doin' Nothin'", Content = "avares://HandyControlDemo/Resources/Img/Album/3.jpg", Footer = "Ace Wilder" }, + new CardModel { Header = "Wrong", Content = "avares://HandyControlDemo/Resources/Img/Album/4.jpg", Footer = "Blaxy Girls" }, + new CardModel { Header = "The Lights", Content = "avares://HandyControlDemo/Resources/Img/Album/5.jpg", Footer = "Panda Eyes" }, + new CardModel { Header = "EA7-50-Cent Disco", Content = "avares://HandyControlDemo/Resources/Img/Album/6.jpg", Footer = "еяхат музыка" }, + new CardModel { Header = "Monsters", Content = "avares://HandyControlDemo/Resources/Img/Album/7.jpg", Footer = "Different Heaven" }, + new CardModel { Header = "Gangsta Walk", Content = "avares://HandyControlDemo/Resources/Img/Album/8.jpg", Footer = "Illusionize" }, + new CardModel { Header = "Won't Back Down", Content = "avares://HandyControlDemo/Resources/Img/Album/9.jpg", Footer = "Boehm / Benjamin Francis Leftwich" }, + new CardModel { Header = "Katchi", Content = "avares://HandyControlDemo/Resources/Img/Album/10.jpg", Footer = "Ofenbach / Nick Waterhouse" } + ]; + } + + internal CardModel GetCardData() + { + return new CardModel + { + Content = $"avares://HandyControlDemo/Resources/Img/Album/{DateTime.Now.Second % 10 + 1}.jpg" + }; + } + internal List GetDemoDataList() { var list = new List(); diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringToBitmapConverter.cs b/src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringToBitmapConverter.cs new file mode 100644 index 00000000..e7266507 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringToBitmapConverter.cs @@ -0,0 +1,33 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; +using Avalonia.Media.Imaging; +using Avalonia.Platform; + +namespace HandyControlDemo.Tools.Converter; + +public class StringToBitmapConverter : IValueConverter +{ + public static readonly StringToBitmapConverter Instance = new(); + + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is not string path || string.IsNullOrEmpty(path)) + { + return null; + } + + try + { + using var stream = AssetLoader.Open(new Uri(path)); + return new Bitmap(stream); + } + catch + { + return null; + } + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => + throw new NotSupportedException(); +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml new file mode 100644 index 00000000..869b2b54 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml.cs new file mode 100644 index 00000000..73d8b141 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/CardDemo.axaml.cs @@ -0,0 +1,9 @@ +namespace HandyControlDemo.UserControl; + +public partial class CardDemo : Avalonia.Controls.UserControl +{ + public CardDemo() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/HoneycombPanelDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/HoneycombPanelDemo.axaml index 021a5e6d..120eefd4 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/HoneycombPanelDemo.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/HoneycombPanelDemo.axaml @@ -2,8 +2,14 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:hc="https://handyorg.github.io/handycontrol" xmlns:vm="clr-namespace:HandyControlDemo.ViewModel" + xmlns:data="clr-namespace:HandyControlDemo.Data" + xmlns:cv="clr-namespace:HandyControlDemo.Tools.Converter" x:Class="HandyControlDemo.UserControl.HoneycombPanelDemo" - DataContext="{Binding HoneycombPanelDemo, Source={x:Static vm:ViewModelLocator.Instance}}"> + x:DataType="vm:CardDemoViewModel" + DataContext="{Binding CardDemo, Source={x:Static vm:ViewModelLocator.Instance}}"> + + + @@ -25,13 +31,14 @@ - + - + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/CardDemoViewModel.cs b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/CardDemoViewModel.cs new file mode 100644 index 00000000..31606e86 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/CardDemoViewModel.cs @@ -0,0 +1,28 @@ +using CommunityToolkit.Mvvm.Input; +using HandyControlDemo.Data; +using HandyControlDemo.Service; + +namespace HandyControlDemo.ViewModel; + +public partial class CardDemoViewModel : DemoViewModelBase +{ + private readonly DataService _dataService; + + public CardDemoViewModel(DataService dataService) + { + _dataService = dataService; + DataList = dataService.GetCardDataList(); + } + + [RelayCommand] + private void AddItem() => DataList.Insert(0, _dataService.GetCardData()); + + [RelayCommand] + private void RemoveItem() + { + if (DataList.Count > 0) + { + DataList.RemoveAt(0); + } + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/HoneycombPanelDemoViewModel.cs b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/HoneycombPanelDemoViewModel.cs deleted file mode 100644 index 60c769c4..00000000 --- a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Controls/HoneycombPanelDemoViewModel.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.ObjectModel; -using Avalonia.Media.Imaging; -using Avalonia.Platform; -using CommunityToolkit.Mvvm.ComponentModel; -using CommunityToolkit.Mvvm.Input; - -namespace HandyControlDemo.ViewModel; - -public partial class HoneycombPanelDemoViewModel : ObservableObject -{ - private static readonly Random Random = new(); - - [ObservableProperty] private ObservableCollection _dataList = []; - - public HoneycombPanelDemoViewModel() - { - for (int i = 0; i < 7; i++) - { - DataList.Add(LoadRandomAvatar()); - } - } - - [RelayCommand] - private void AddItem() => DataList.Insert(0, LoadRandomAvatar()); - - [RelayCommand] - private void RemoveItem() - { - if (DataList.Count > 0) - { - DataList.RemoveAt(0); - } - } - - private static Bitmap LoadRandomAvatar() - { - var uri = new Uri($"avares://HandyControlDemo/Resources/Img/Avatar/avatar{Random.Next(1, 7)}.png"); - using var stream = AssetLoader.Open(uri); - return new Bitmap(stream); - } -} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/ViewModelLocator.cs b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/ViewModelLocator.cs index 56121bb0..376d75dd 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/ViewModelLocator.cs +++ b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/ViewModelLocator.cs @@ -20,7 +20,7 @@ public class ViewModelLocator services.AddSingleton(); services.AddTransient(); services.AddTransient(); - services.AddTransient(); + services.AddTransient(); _serviceProvider = services.BuildServiceProvider(); } @@ -29,5 +29,5 @@ public class ViewModelLocator public InputElementDemoViewModel InputElementDemo => _serviceProvider.GetService()!; - public HoneycombPanelDemoViewModel HoneycombPanelDemo => _serviceProvider.GetService()!; + public CardDemoViewModel CardDemo => _serviceProvider.GetService()!; } diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Other/Card.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Other/Card.cs new file mode 100644 index 00000000..4b5678b0 --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Controls/Other/Card.cs @@ -0,0 +1,62 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Controls.Templates; + +namespace HandyControl.Controls; + +public class Card : ContentControl +{ + public static readonly StyledProperty HeaderProperty = + AvaloniaProperty.Register(nameof(Header)); + + public object? Header + { + get => GetValue(HeaderProperty); + set => SetValue(HeaderProperty, value); + } + + public static readonly StyledProperty HeaderTemplateProperty = + AvaloniaProperty.Register(nameof(HeaderTemplate)); + + public IDataTemplate? HeaderTemplate + { + get => GetValue(HeaderTemplateProperty); + set => SetValue(HeaderTemplateProperty, value); + } + + public static readonly StyledProperty HeaderStringFormatProperty = + AvaloniaProperty.Register(nameof(HeaderStringFormat)); + + public string? HeaderStringFormat + { + get => GetValue(HeaderStringFormatProperty); + set => SetValue(HeaderStringFormatProperty, value); + } + + public static readonly StyledProperty FooterProperty = + AvaloniaProperty.Register(nameof(Footer)); + + public object? Footer + { + get => GetValue(FooterProperty); + set => SetValue(FooterProperty, value); + } + + public static readonly StyledProperty FooterTemplateProperty = + AvaloniaProperty.Register(nameof(FooterTemplate)); + + public IDataTemplate? FooterTemplate + { + get => GetValue(FooterTemplateProperty); + set => SetValue(FooterTemplateProperty, value); + } + + public static readonly StyledProperty FooterStringFormatProperty = + AvaloniaProperty.Register(nameof(FooterStringFormat)); + + public string? FooterStringFormat + { + get => GetValue(FooterStringFormatProperty); + set => SetValue(FooterStringFormatProperty, value); + } +} diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Card.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Card.axaml new file mode 100644 index 00000000..236ee015 --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Card.axaml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml index f5fceb1a..1eec387e 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml @@ -57,6 +57,7 @@ +