From 683c3078a42d8de349a0833ab93690fc65cb086b Mon Sep 17 00:00:00 2001 From: Krithika Date: Wed, 7 May 2025 13:12:49 +0530 Subject: [PATCH] 945162: How to hide form field based on user in PdfViewer WPF control --- .../User-BasedFormFieldVisibility/App.config | 6 + .../User-BasedFormFieldVisibility/App.xaml | 9 + .../User-BasedFormFieldVisibility/App.xaml.cs | 17 + .../Data/eSign_filling.pdf | Bin 0 -> 128980 bytes .../Data/profile1.png | Bin 0 -> 7583 bytes .../Data/profile2.png | Bin 0 -> 7661 bytes .../EsigningPdfFormsViewModel.cs | 72 +++++ .../MainWindow.xaml | 68 ++++ .../MainWindow.xaml.cs | 306 ++++++++++++++++++ .../Properties/AssemblyInfo.cs | 48 +++ .../Properties/Resources.Designer.cs | 71 ++++ .../Properties/Resources.resx | 117 +++++++ .../Properties/Settings.Designer.cs | 30 ++ .../Properties/Settings.settings | 7 + .../User-BasedFormFieldVisibility.csproj | 116 +++++++ .../User-BasedFormFieldVisibility.sln | 25 ++ .../packages.config | 4 + 17 files changed, 896 insertions(+) create mode 100644 FormFields/User-BasedFormFieldVisibility/App.config create mode 100644 FormFields/User-BasedFormFieldVisibility/App.xaml create mode 100644 FormFields/User-BasedFormFieldVisibility/App.xaml.cs create mode 100644 FormFields/User-BasedFormFieldVisibility/Data/eSign_filling.pdf create mode 100644 FormFields/User-BasedFormFieldVisibility/Data/profile1.png create mode 100644 FormFields/User-BasedFormFieldVisibility/Data/profile2.png create mode 100644 FormFields/User-BasedFormFieldVisibility/EsigningPdfFormsViewModel.cs create mode 100644 FormFields/User-BasedFormFieldVisibility/MainWindow.xaml create mode 100644 FormFields/User-BasedFormFieldVisibility/MainWindow.xaml.cs create mode 100644 FormFields/User-BasedFormFieldVisibility/Properties/AssemblyInfo.cs create mode 100644 FormFields/User-BasedFormFieldVisibility/Properties/Resources.Designer.cs create mode 100644 FormFields/User-BasedFormFieldVisibility/Properties/Resources.resx create mode 100644 FormFields/User-BasedFormFieldVisibility/Properties/Settings.Designer.cs create mode 100644 FormFields/User-BasedFormFieldVisibility/Properties/Settings.settings create mode 100644 FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.csproj create mode 100644 FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.sln create mode 100644 FormFields/User-BasedFormFieldVisibility/packages.config diff --git a/FormFields/User-BasedFormFieldVisibility/App.config b/FormFields/User-BasedFormFieldVisibility/App.config new file mode 100644 index 0000000..b50c74f --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/FormFields/User-BasedFormFieldVisibility/App.xaml b/FormFields/User-BasedFormFieldVisibility/App.xaml new file mode 100644 index 0000000..f441dce --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/FormFields/User-BasedFormFieldVisibility/App.xaml.cs b/FormFields/User-BasedFormFieldVisibility/App.xaml.cs new file mode 100644 index 0000000..7aeb98a --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace User_BasedFormFieldVisibility +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/FormFields/User-BasedFormFieldVisibility/Data/eSign_filling.pdf b/FormFields/User-BasedFormFieldVisibility/Data/eSign_filling.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a50505583a4b0dd4a2138946437c63754dc3e054 GIT binary patch literal 128980 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%0A2iHVlsh`l`|>>g6jPbRzAt)AWmrywSX<}odv7u7 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 G;{P8Q(O`lA literal 0 HcmV?d00001 diff --git a/FormFields/User-BasedFormFieldVisibility/Data/profile1.png b/FormFields/User-BasedFormFieldVisibility/Data/profile1.png new file mode 100644 index 0000000000000000000000000000000000000000..6519f17b06abe1059b08b56e16721088a2017000 GIT binary patch literal 7583 zcmbVx2T)Vr`YnP|CG;XiLqI_39YT@bK?uD{Ab|uz5<=)jK{`kg=^$MYkS0hMX#y%u zKsrcKL;>j?`J+Ge-uIvT?wfg;NzUHqd~2=mTl?F4=1d|D^ff5SS;z?p2q?8QRUzkB z;h$ep;`3iK!o%?M%N4wuIo=54i1&ix-~>uAj6EEvZ&wuB9qcU+`o#-AAOE~91OomF!Mn(V z{z=MQ&j6@`!NGwNf|3Fb!je)zDH%Z#2`MRYDSn`+u!w|^u$YjTuz;u-SX>w^E(-kp z0iCPiV2)sjs`_uO^O-ydfyZOPLPB0%UV>g?f*72WkcfNi-oBR>8rccnr=MgF*diSc5;#09A}6fO=2|B>JaQAmCq5 zz)Bu?1P14BfN@9u>?(PX3I>Hb-+MqT28YK%k$51+5r}|du|7a79D_x{f41VeA?H@9 z!f{AXI7}UfaRvVB3NZ3NBrhVPCM+$Zq$Z*&D*V$lWp#1Ub1P(&MAd}VR7B4U{|5{E z|1n(XJQMI?zl!=J{HxY~J6Zme ze|}v39R58g&nJIRS~&WA-{8*AQD>^_7mdJQEC!fHh^!(+QdkQs{ zYvl!_mPPR17ch$+#@CXP+-~#j)Frz24AdTKGl&Rk7HeP6y;pJqGJZ3E`<^0@3ozcf zb-faGe-PgL(DePfb8V@-qmz^4^5gZD$LsyWu2Jn5f+7=9qmN8wWoPF0Uk)6z-KoGX z_0TjAS5#KiPk0u@ZPw1=mIAvIKqpo2QVzE7R2@1~1e+v=>;?0hcOUpxqYJp_R$4;O zR)}p|x3W3s?Y_QU@jlCaF-k7L(C_dJN0W2{DuY}xH4kNvYG0;O#IlLIz&nYcFj|`k z9xqT9TM+-v2iju$c~6oQb!D>-P6NvX83 z4cA1CP}!@nFMp%~%vuUF5w~(p&7?N0rr9H@s#+$Bg+GB zM#kh^BpC9P)RA$yGG`#yT|B~o|Kc-v+Y3Ct$j{E)HMS{Ak3D=95-_jR(i_PWIDAx~ zaV=mc4AXCYcb9cjbDt;M=hOF2Wd)KBYMNML3xW3LavE-K%e+X5{3u-*X*k-K+Rw9< zq9dc5MvLpfk2bi3T*JU%8T73Y&@I|9D83p+#WdhJ#9ej*B|!rGxzg2ZC+_jG4#v}g zgB|K5c0N%m-TC^I^_k(zAyz)K*Z^5ty}*wvW-l*iBr?Tn^l*uO{lr~5a&Iv;{se%Z zc@#5NJG%@GGF48mz?)It^=J!qeXtm_h284%c8si5*>5W@Gy`fY;- z8Abg4sCFbvg)B)EFZ(M~4maFolH60+L5!v*<-gpGYhDBB+WM|njH-UWCck~Md`V^D zYQu%P=lWJ*YvYI&0drIXbYv)-xy|Y7F&}EOks;93pb|9_rPi-S(buR&NE;uaT7{k= zXcW~7@h7AY8mks4n1~eSySp+?zN~Uja0!a=V46VGT=wix%oUF=A3X3DysH+e<`?_p z17&9Y#z@O)i&g8vgh>=>@%vcK{r_xqb?fHd9_5OYOUs zm(=rv?%fIj%G{zS1q~-Cmxz(6G0vxg%S`DQnI;^UQP=Mw#DgKVTGBQuWhxvogvG|` z=C(I0rzkc1$ahxZxtP-*Q$hpRZq1}wo-wvi-#xrlk#+bOJkoU9G|;lgU`PwHRu#HP zIJ-=tY{IFDSEbSE;#GB1O=Pe4_y(PB*au#0C4b9khcjf%wU+_i(g-8JG*5AJ)t1#Y zzY9?PAh{zi-jh^m-1UH->|1@Cv;?QrsQN2|!5%Z{3U`brg-26JnM`!H&0(YTp!|;+ zy5+cHsmvhbvh5~!9ZYeOIzs}Mr(q`edJkzgi1evQ{XS+TusDH>3BLHMGs_^~Z7*R^ z^zaG&y}sIsu%P4*OToQ@CqccTxCwunC~m0_NEIGw}DlEi9)E(+&qX_6WCKuCGGvz0*8+v~$dLYT88%AJDl zA1iN0;=1exsoJ_rYITHJ86uif@@05GX%{DgU22IxL@{V4x0i>s=%ra__U)0DJpyWm zP>otFc+?L`%`fyP46s`7b-H`5FW374TG|M!UK_h;)#RE^e#x`dggv)Jk&;K|Lm>?= zmyAoz+`euN+dF}_ck57gxT6U}iTLSi@iXxIO?u^A>EN=m9IFB)n$k-|h4ys2&g>1J z;E$pudSc11xd|HeaHY8}4{GD?y`_kA&SEGWRL+AM(QvsR)GMa#!XkS?l)8EYoK5w? z5qFfR!sYZi9E8TNK%nSLiDG6V&mVoVn=Ds!xVPs3WDf!1;(gX~V1718bG;Elk+RM0 z>(su4JYBpT%B=SBY}0dTwkK)v5rDu1ox9m}L8|^UHr)fKtewTOA;i9{ojDV)#ATs0 z08kq5V_kz#hsW|cRK#Ba^k`$w?M(S?V$)<(1M|l`Ba8{4?{OHmjw271o(lfOgB7FH zKEWZ9!@)5zP1RoWH|4anDN+vnxu=016RoZg|5+<&d1awC92?`Dj;`}GwT$gZfMvF^yC2wGVGNSB7Cpx&}? z_+Er+CY?f`CBw`QNyyShS!O%_6zpadlD#fIGIW1+%L6jTazsmh0;_xgbrz;SXm}EmX%iZUC5s=J5=4;`bHxD>*5 zO|*ot#o6A_IgjBHb)k?OW`XJrX)!no&d$2TyRHeqD&D6rl~&(pQ|^96$gQ3tlOqYr zlJCJ6+T?0*O@so_IefFB0`yNjpX*Wr#cA0KoWVodvBd>5j`Mr5WgTJ7A#~#2+Ti=D zsMIo^>IEI@TG~zt!RfsY14{8-oiA(kcd43~zTUY}(GKyge3Jzpy-D0N)Lg|Qv<;275zMCs^|e(DOZhNH3q7+?X@ImV0s(hH zp^c+K%1M$|wWQCu=PDpBy2dg*7y4}!FDDWhKh)vp)_KTll}wfX>Z_6WbcA=3RP0kx zaEGoDv4EJ#P+46<#)$M@X@ta7F_Oi2)}|skH)+gZ0CH_hCt{ygkaH2w0F~~1p<0n2 z&-k{~;$TE4!U@svv|l~3xx!3qqK2caI8Hbzi}$i<(rli3{0hFL@kxrbpB^SZ@1rw` z3awtj9S^O^1bC@H^dbKhP9$9wXj8ClQ|ECM`D0)0FS;JNy{wsB%NjZ{C8ILnF8+nS ztK!ub^p1k_TMc6I4rC~8M`8ER(hwUPL{e0$?A?dp_{A{LyQAwDi->LnW0H z*~*e#R&zA(k4HAAUYA3TzD19WSisX2+CtN)%C}yXSfWJvDe^TiharRkM5g;TD>l#l%avNLakf0pEE$76?35z{&ZuG zP6m8z(D3xs%xn!4uSzJ4kC=JEY`LQCyDro}he~jR`~l+!%`}cKlDpG!?qg1Jl=n0$ zPP%vPk~7?4o~pqg7=doFZwlGg01eUTA<3Oa#8+~{3rDPg-13ZB?3I&B9gF0(Fs7RY zy?fQ1p5ifdI%3R%uHm0w$S}{FvcI1Og*QKle5`NnkX-yhn|WnXmd&wuppEZyeHx>R zcBINPph_1SA?|IxTKys--$=)Nh$&Z!jL%e-wpxa0$1=8boQtyYKI1T}2%!qb_o=4m zbY`KnLXZ@iW~`ZN6N#tUFyBb|ge`A?A&VNkTq=k%9~xlal&=rM1NcdQWPTcwg`z~5ec(;Qt(%g6bMi9b7KE-dAJ1G$_m_7}O<7)lXt2CSb%n@obszl>1cVk)g1_ISkhnb?-^w)7}v zHESQ+*t@r4Un+r{sc+h;Z*td$QAmCHwt}k{K}WriW&Z}!W{G~U622d^e=)xfU!l*b zA2B%SD=ma0Qj>_FJ$$LeXPB=b?hL*W>#r1*cpt=UXuxR&3l{Nw;HgWN$I0G3yomH&X<;m}@9k3! z#!q3L5($#d{MDrk>s9@TIY3YFLBJLDm0sPk@uF3+vj`TF>!`sd;RF-sH_p*cR9>Z`U z89!TYhujZxad%H`0l!tkh%Muw1zp};A&34~oVbgat%PzX%ludel38(T5R z2EEU8i3WU0S6pQ>Kx3R$`*az59CvK}ZzQe;h$W1&xWrX_n>u}k-wdWM$cezmppS-( znYaN9sLY=D*}XLMS9pY%G)jQnmMCy``I)ypj2vdj z!3o?p+S?0}fy7niOU3*cnqh7@8%W*AtH(NDvbjRy+}KCWu;etuCg2@T7~JLEOBu;; z8L{LxJpQb|_S>?;X|%4~h{v4qGmCoZ$+}V50V++Uh?>jfSy15x;m9k-+JV>Xb|a0V zE1fgM9TYBDX{-l*U5vk!SMRf|=Y1egQVGY)Ux}L!&ogmgvbKz&`-ZgK)d%;nw}{|( zFdAnz*~$-J_(9Pu?$akrk7ANlkFO@Is9W)VjuvJ$$-7qxHAN)yh8@=#0x6ihV&)`v zlihP6wFmPa@_zaZwaw-!&OPOy?0N_T3`n*FAk5Y##xiz*s;PpBZ?Ljs>B-TMqW77K z#c4{H_eM81T1YBA0*Hr)Qw(#5hGp;y%7&kS8f0w-DC!xnKzc1=&!D5tlLRNNq3h^J z9sbJg8~U&4zt+feKdhoAOdwdPCk`zW6=|G%JYajW0hDarwR7=D%zYa(xZw)*qc$(Ut?%|hJd|gsh0OUocMYMO&(Lc84XmG5d1nj@)Ty7?p{Nx*8>J?5Lw6`%LOXqmsTyYvfWAD^;b zUH9Y;e>bsum^dXhz1(S_eH~VMf4VtTN({T+PQS28+Mk)- z)-+o?rlZ|$8^E68&M3|k?7}ColmuNGebDowy1TzyQ6t;~aFzgJ!6y~@6TJ)Jv0NaQx9<`i?aSO?{a zch+7vKYle@2o~&L5^k#3p8D7w-Q6!{D6zQ}7Z}skb?JMV7MB|-DwkF0dawMXah19s zE|yvrzwg@r4!=o}5x#!+M{9-Ii3b&>WUOZ(y4K*RKUY?r`Ms4bynVi2BT_=W?Xb{9 z@JU41G)sE=y4xNr(`Q7|;&_YGEvfuApb^se_Pzyy>-9;?3ns*=ux6sVwHAg@dLmzRIHl)OUW9d5?Vm(3K!(gfY`bWcO8UiNsn)lV^-P zF5e@nb>+h32Z3)2kNT2Y4@lxx>yD3QTf#rkt_<3n$tC2uXQo?mxFDqW-rT_C9LolH ze_VH)q`LL2y7!|YXSPs|bqaQ1zC*g^?!_Wo`7q4sTceHP*oY{KYuV>-7F*#ec<>ZJgx>dOSFS*Elb@B3kI zR8B~480}>l07T@H4Km4*PotRM;X$7Fa*&Gm#%zYc!nEA(&Rg5+ExMc4ajfw(i#ndk zj%&FjfRA+7PIEkw&WCMNd;0#L>z>{Am!(R?%*b!GFO5K)xyX@Pnnk@zN~(QCvkpRVSnuhSi2}eW+wek%&e$cLtoTnhTVMZ zc-r@^^pAy2D%mvrLYI`_J5RRh*4>r5=aPqO3h!@Wr?}0Ytp|Q8O7V()up{R)CEzfn z|5Aa|w!Wq();z>8D`RjXk$MG})L`a5@I;XRT*^;Rm_m2I1|Sx_oTW5%su3a7m#|^I1>;tntFw6RG6qE<%r6rO%eb0jR7= zxesS&`(rm-Pj-hB#jHr@;3L|lLlRpR8qTAI>waV r_n}m;&wp!>osMaCrR7ZL-UWikI}w6V={BE0kd#-=tA7PaRWCNsrwl7 zSp6XcjxPEGZ4elMIpP`8UK;qVrU3{*T1W#8MAZe=(FzDF zq>6_lLdQcx7w%yLm$U%N$^h=UL9Pkx5EvN1&Cb@|3F0OV{F@hYJ^%R_1O)sYg0YbX z{*%;WbxnW*$`Jt&6%gZx3yO&Y#3coUM8(BL#Q6YVK_O9)pfE^SkRL1z5fOxlfC0Zg zz-u)}3rmQ$qVg}T>pN+n6$XQbfIzOUt^%&Y0w~94AR$RfNsu5I1P1e8NANqj+hbsE z{Ps?4zZnz}PH;yg8iPdH1Aa2X%u&u5Y2bCH|CC^d)i->KXZI)C38RhpSMvXn-$~aUjR0vQoKVh=@at8yWcxR%|1R`9 z&;tG^4(;q{`?ot5a1g>4VTZ8CI9-<^^d}><6$*oLvO=N%K>m-c{`~xR?LP&6nFLXX zIocqu+eFvV8S(dXb#=(2YjcqHFk3|w-1(=Js-iUT8X;hTw19w>p~6BU!q)>>NK8UV zND?eBC?O`Vs0>wBR#FgF{LS&7up(mOU}5O>B?1)}5>gVERD=r4D~d}Bi;F>pMdZQ1 zv8wh?7??dA@mm*pt@{fr^k1?&!X0?O9*dhY?yC`XJV42c1tECE(9G};}2MxfBPh@Y)^ZOFA% ziU>!f3&KL#5oHJXyDK2b|B$?pq>`Y7BveUA5iI!AG)X~P- z$qEMG2Pj`RkS!8+5A<_S*&?suf6xA50{y$d^&I|>&%ZQu5DtITeh~wH5&v(xe?ouK z{fpxI27|=dB7SlFzjN38zbp#?<$`boV5|^;pNn_BW{97g9D%U^-&y>tsNceW*ZOZK z%kT29kE@^4Kj-B2&7YGNVSl}E9IwyO0x8wn8#icnRTZJSZj-f!?r7s9ldD>rZ)XE_ zce`RZCSnkGUAD%ZlSB%qIHgsKKB}wb+C5;sDcmRr!?QdNsOc5FEqogXk2{FkipWmq z&M>=rl8D9@cQh$eg*}pE+xzR8fDGy;0)jjFuCaehrDpPI_S@N+Pks7gVPH57XraT~ zYjdKA>A=G)oe(Fh=*S&gC~|5$j_QdRu1?_7W)U2PF}=cx_j-3nwX=*r+%qcFW2xGl z_U@70DGwSmY|KfxTrXDNI@_9?+fCN3o1cADbiha`Se8j?b~UM?fQ5iUdaP@9dhJ^X~nSQc$F|Lt`>yhj#<5QWW9q4Ntdg`&2LE$a=w;hT(E;m9P z2(dcsiYM#_Mo5$wL*@>HO3JDtf==9Rzx8Je%myN9$PU`)if?s}f!E&Hebl?vM~JpQ zCEl%CB<|9GE@z|6d{H7bxBt$kW|;o;Wdo?quXmxlo1WbhyZiw|oD0)4(mr#*PDi^u zz0nxe?KBcVRZW;NFK+&5``j8grBd^J7|%XV_S%|o6gJZB9;YHS*oq;j)1R{DGrh|i z|(XkQVp*Y#nuTx3??>;-bdS%^8GO*;77kYvjcd z7;ZqeNXTWba17;{5cLr}R1T<~lSH{zM&9Muk>{PbIKWAo(Td~7aSMhd0JNBnJ6~z( zJ6-MZHgJFoNq4DzzF3~C`y#)*rU0niL!Asqo!<- z50js7h!fWNkJS%N*%}K=dq_TJzQ$pPCc8iww=-=j$=mK5c;|YsqH&Lb<-(p<)^h=} z7_7{^z2v^&W53K2ux>UnQwmpMn7-(%y25)EM-L=^v;(Zwu-;GS0VQYyr{E#Lspu|h z2gD`sVT>xf4e|LQ%Owx9&)TBfaV$&omn2^`Q19Y^CaITTBulZa=`$Td6Saa z38icuxq^v>4{NrSFUmK0^b6-&*C@3sF>cKQ<5YAEHa6p5m%QHaT1GOqpA2)MZ9kD7 zSkqnY7q0H^4}V@LbWN2nD1`gK=uD-e`V5LIoNvOp6eO&cw7AUztl|d;QnoN53>EnK z)&78PdFVIUZ%)-__W7yhSMfm`%^V48Dc#lb;R4CpOCpKr$$(-yQwdy<8GYxnqui7q z=s66l%a#Ei5?uVCK4BE1!Lr!=)r;kHku8P%6;U2~Y;3o8_|YQhYELUg!u!tAv;!fi z){)|sB{6xw%1VYWsm}(Rngu;f*5aXlDj9M1 z)sqyapdW*yLPBFKgMUuWWy_q=-DjJ3EA4X;ZHz?jMmJ483a@ngu9H2h&o{$MA_?y$ z?DKh^@%%JA*NWD|FNRd+#!5yci(MV4L3*oCId z_|DF+GB^_^Fu2z4VShhiWNz38r}&ZKkhqr^2Mu$;oE@0d#6Q4}RR|tPg+e*7n|Pp9 zNmiQdqK|Gnn|{qPRmi3GDOghLU5^V3`o<$SRF^(gD9xYbLLT!K&xAaxw#48symoVEV=*teN&8adm^oIB=AM62ke0-Y3eN241u zjTz7Eu{@VoIpzDq=q3_6-1bGng|zs0<^YNEnVlx3K~G)IqXNbLs=@Adr*bZD!zz6G z7Ii24{yQ={+Lf>Cac+Yeb%X&yZ_Z7~6#E03{E6MXm|yM(qwS>qn4e@u?Ll5~j#%PP zT;Nd-s^O3ctb}dyR2p&7OyD+4_e{|sT47&K^sd%JKk!^OLzwO>}8%w z;5(Cc4_?(EeL>GPjpG>wZblIS3=#LoFA*M$bvtfuDfpukJCsKnZ$}Rtxx7_YAH1z4 z#McOsVrqm|KU^GbQW*$xt^cu25DYx7X*ju4?}7}wOsnC;04RR2=D!#mgi-$B;NwHV zql?Lv=xAo$#6vC_(;DiBQlq2324N~*UR+@J(>c*fg0ZArWfCT!z-SI05%NtI|2_;L z)wu1)wn?DB>G9~<^p39}*9Ozxuw6EGh{=k*h$eTTIr4;#57ZE-9AIZrK!Go5Q6ci0 zL_{QPnVxHHX-jL`VTX_AO;8>;!BK}6;wVO)LSUgB)K0R0J8Qx=JnNgV^V;3*<`~okSjk#8()aoOo zc-SZQthgp#F3U+ywmifGs!%l~pSRp3w{@c|*5@TD>2THvdeah1i{n*B_BWEmCt_cs zKGjeu%RK?IpK@zLOx+zKYo?k8!_sy<50h@Xf3ILCWYl~h@!as?YO&NUMXoH04zib# zi^Z0Wg10-xaG418MP&TWc31*+#Jc9GI*-1FX=MAN?w!&m@D<;n`a-v@LGxgO*9Gi8 z8BQs#-Z2M&Z4qFQ75bn?Xpi>8W$w3Uf*SjSl(RDI!(nGJ`8b$`L5ioQ#3be>YHST- zzR4w#X+%)YT;sp`fKPniqLqC~GMi|6@d$+lVF2M)5hCs!mwA%m_XmuY(PE$O*-Ol5 ze9A5n5SCy8+UyGMbB&M=KCLA(jsjt zDTf}+?c2O>66A|&x;i|`(I^=EduZ^ArG|z9g%}+>D zUx;#SH=#S2FV!QE)WU7az ziz;@7z!pZnFiN4eR~|Yor|04@nvVj#URzNM?<6S)oJ*H5BxMh)sf%OtFxx?220P_+ ze~5`kZRPA%TN2UIrTfZ42!hguFgmXbFCOl^m8?}7=@$JMdf=f1)T=-rYqDs(Y#k5~ zmie;LS`gespc6k9AY!MORI+E~b!Yv;?k#Dl1m-*Asd9Ts-7$EGVT?eH_)v~inKQD{ zO5^Flh8nHCE*ZodpJ`psmYpb+^dL*=^O8$V#+2fgU3|V8AzLmE*F{tSQRT{q2|z9T z-2)|ZhENAfLksnm*Bq*X)(5rR+`Oi)e!YWIz8-}SI(3BxWrH_qV&9lO7>c*zM&seh z3$&g#tCafo6d89I?LbJLKLXiani`)TiaJ(z3$g@E>}Eq*UxMT8?6-!Uuz`+zl&?DoNzYh4*cVBX9YQ|-)^;zmF|itrNW^sDPj&aob! zs+;KBX1ScDY8ic#lkHE1kT!%D-m%`5up2iMSh!nYkU_M&Ah zy|rW332UB!i7j!h)|GYwCuEALd5vLby}#|UorK!d5b8A&p5H}#dU{q|5!>AM%+xo0 zRZuBkiUzmbpFL!1U3g$sysG9SE0|_`kbGnGmI)2E52$UZ2}mzU7wVSB8eVEDDJIOk z{>(@|4F*id?@?bU2peS(x8i!Re@M@xwo+V$yk)rMpHL#`&tOz@oc-CGxM6Si=J=#K zpdS~HNz|eUMGmo7u_!8Ldx6jFB~JP5X4{gOd?uOC=I8q6#J}c7R9HUeX6foV>`Y6{ zdVsr^4DOHoz;m0v;Qq+%;S)|*1rxBm*#^B+5?zN&FGqe5s1@&Amgqal60OACi}Ust zBW;^PuN|=5Or8fd!z?lpCsqR>!^V4-*@xv7_p1I9^tCl)M>?{8UdyK)PZHRykz}(P zF1W7ZebZ;$+dc-zwG$G9fnA^k= zPL??7Y^_3Bn&&WZfq4&e35j^qYay}i=~%9HNy5~d(l(fs_{{V52gpiZ@YyCp;Bg3N zInM*-1TYey1-R@HvHHUHgd664LSJkAHrMs_S{McO+uBUau`u2ju zOd^QnBggkUKfn87Fz3>}>%rFf?8RemNxwKH!zX^GY2+o)XjZ$XzMwovTx>r$Bc>2S zJjC@R>-FNZ&iR`nLAK=?NZXI{Q3W5_TaRYNw54n;qL|&zWkw)IBLNb#u2)ifX_3$A zW8rM$U#B|CJLR6D&x+8L*;5#)Zbv!d@?}%Wq7z|x3lVQ z4RPPXF@VI;{rrNB=y6rtihR{_H4$@kY9>(ZJAX=UaoZWkh3M57_5#V){rYH{CK83FCsh_&NWJMvug*bFk#Q^hB_V~WOsyp9 zjmr2>X-7P*De%`vxrCNWI)nz#bUxJ{){NY?{A<5cUVNbQ!xxI1J2ejM9tycwTLA)b z!U+iP$L9NV>`%Vq6&0STx9f?vcfqdg>swgqquM`CovHdu-&)hX&dMw>1q5g)dpW%# zYGH4p?Cy$dUDzpk8^BwKFP3{c;(D`hC;m9m!_<2$Ct(byE~SZv`NV+n#YtlS`L0`l zn*%Hw>;7iNUaag7VUvV$ifw4(%a7nIzEdF9N0Bm{h4;A@B|)zg)eQbBuyc{$NRkSB z!TSTnyKDwHWVvdGOE?`#6QrTZzT#O%sxQK@aGfj{Ro&su5H zOuqZfa++ft^s0nfl=j%HQsD=x6 z%a#78-^Upvbkt*|j3mT`U&sxR#^E-CJ@iAly!fcTe9{j1(NrnXDbmX*=f~Wm@yY!H z>$a9B=Q~S+2D1KHm)CEO%HVfy*5XRvIy_dDxPVm~e0Xg*f*eC`+|jjm=Sg^N(6IVJ zQ6~9vt!CEc==|{Rqj0fUtfbkx?k4Z`?}+o!g!+h4qe}Et{^D)k#n*cxKvotFL9vJs zM8$AV>KH3}oFmA-Y}8jn<%yzAOxQ#DE<%1Voko_;@{aR%XX_e3_&ax6vRUgv4uX*` zd~xdYJq21(hwmedKZ+QtEQ!H2tY|05N5*{fj!?G?mWxQ|@T84_Jp)DPsfP_y?hFRudz-B`e+wY-iG>Uk~uEUlf9)-B_}u z$r+il4YK+!h78ipkGZ&Nyo}#Y2ZbGsa6bgM$vaf%;}g2h_LI0<6;*{V6p)qm0P*nf zG&7-6ofbmkYSmkryu*TNbr-ap?e|Mkd0~qg{^-}(1v(*ljiV708E@*pHPls2$=)$A zb6e?3@L9M#@;<(a@<`ncmpvluwp$sEP)x_XzpEk>d|{)uNgH-xzH%%C8NKH}t(B^z z5>Kn`jj#@h!=LPq4ZL%V#V3k!@wdfRlJkmbGQEcqHt4C_x$pG2Em5H201F3-LxF~PstuNeCP z6lF-X3%9EbEp|?5+FWoq>7@D2sQuL3zfAe=HU__>v>rYg)c=jrs5$+racc8RwsyYH z-MNE@OcqYU`i9kA?!`c^AX=>o3|z{OLCq$V^f1#-g?3lyRLGDJ^HwZ5Txuul8LT8Q z8esS-H>cQ`T~yAT=C*u(9|>cc^eq};n?loPikRYJJiTN~0ZO@dn$X78mhVHvYkfnq zBg7povfmTDU`3lh)b*}*$CqAe7FO<^FB_m&C#rU$JgjOq%kgMh_AzJ*L!PdYB}8>; zwPIdgyaCvh$-*c2X46TYp;x!avVy-$&JLrzty|!hu*EzB$g~Pu?HHAw+;l#ww0W7g z{{8q;AX(LOv-lW>~6cDyjT+-AeF>n8CJk6@)IaTw&_tfkT|Ky1im^YDCdy~=32(!_mC zYWamLWmfZ>J@BG+J$CrrXFG-W=`?)?5)@54jBck~p$@lzK@Z=d%m?#?qo0^z-WZD@ zQ;3GED`#c|@U4R>cvga`6Ps3@2Oy!X&zmfA)83DaGMm`lJAMAW2yZ*WWe8R&y?}ve zkZq-WVO@i^*@vkIcNHEu2QdSc(); + string andrewFilePath = "../../Data/profile1.png"; + string anneFilePath = "../../Data/profile2.png"; + + Employees.Add(new Employee + { + Name = "Andrew Fuller", + ProfilePicture = GetFileStream("profile1.png"), + Mail = "andrew@mycompany.com", + BorderColor = true, + + }); + Employees.Add(new Employee + { + Name = "Anne Dodsworth", + ProfilePicture = GetFileStream("profile2.png"), + Mail = "anne@mycompany.com", + BorderColor = false, + + }); + } + + /// + /// Gets or sets the document path. + /// + public Stream DocumentStream + { + get + { + return m_documentStream; + } + set + { + m_documentStream = value; + } + } + /// + /// Gets or sets the collection of Employees. + /// + public ObservableCollection Employees { get; set; } + private Stream GetFileStream(string filePath) + { + Uri uriResource = new Uri("/User-BasedFormFieldVisibility;component/Data/" + filePath, UriKind.Relative); + StreamResourceInfo streamResourceInfo = Application.GetResourceStream(uriResource); + return streamResourceInfo.Stream; + } + } + /// + /// Class to represent the details of the Employees + /// + public class Employee + { + public string Name { get; set; } + public Stream ProfilePicture { get; set; } + public string Mail { get; set; } + public bool BorderColor { get; set; } + + } +} diff --git a/FormFields/User-BasedFormFieldVisibility/MainWindow.xaml b/FormFields/User-BasedFormFieldVisibility/MainWindow.xaml new file mode 100644 index 0000000..1f96f36 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/MainWindow.xaml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FormFields/User-BasedFormFieldVisibility/MainWindow.xaml.cs b/FormFields/User-BasedFormFieldVisibility/MainWindow.xaml.cs new file mode 100644 index 0000000..bafcfb6 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/MainWindow.xaml.cs @@ -0,0 +1,306 @@ +using Microsoft.Win32; +using Syncfusion.Pdf.Graphics; +using Syncfusion.Pdf.Interactive; +using Syncfusion.Pdf.Parsing; +using Syncfusion.Windows.Tools.Controls; +using System; +using System.Collections.ObjectModel; +using System.IO; +using System.Windows; + +namespace User_BasedFormFieldVisibility +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + private ObservableCollection AnneList = new ObservableCollection(); + private ObservableCollection AndrewList = new ObservableCollection(); + private Employee currentUser; + private string errors; + private bool isUser = false; + /// + /// Checks whether there are validation error in the Formfields. + /// + public bool isErrorMessage = false; + public MainWindow() + { + InitializeComponent(); + this.DataContext = new EsigningPdfFormsViewModel(); + pdfviewer.Load("../../Data/eSign_filling.pdf"); + } + + private void pdfviewer_DocumentLoaded(object sender, EventArgs args) + { + pdfviewer.ThumbnailSettings.IsVisible = false; + pdfviewer.IsBookmarkEnabled = false; + pdfviewer.EnableLayers = false; + pdfviewer.PageOrganizerSettings.IsIconVisible = false; + pdfviewer.EnableRedactionTool = false; + pdfviewer.FormSettings.IsIconVisible = false; + buttonAdv.IsEnabled = false; + UpdateFormField(); + } + + private void ComboBoxAdv_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) + { + ComboBoxAdv currentComboBox = sender as ComboBoxAdv; + if (currentComboBox != null) + { + currentUser = currentComboBox.SelectedItem as Employee; + isUser = true; + } + if (pdfviewer != null) + UpdateFormField(); + + if (isErrorMessage && comboBox.SelectedIndex != 0) + { + DisplayMessage(); + comboBox.SelectedIndex = 0; + errors = string.Empty; + } + } + + private void DisplayMessage() + { + MessageBox.Show(errors.Substring(0, errors.Length - 2) + ".", "Missing Field Alert", MessageBoxButton.OK); + } + + private void UpdateFormField() + { + if (pdfviewer.LoadedDocument.Form != null) + { + var FormFieldCollections = pdfviewer.LoadedDocument.Form.Fields; + + if (FormFieldCollections.Count > 0) + { + for (int i = 0; i < FormFieldCollections.Count; i++) + { + if (FormFieldCollections[i].Name == "LandlordName" || FormFieldCollections[i].Name == "LandlordDate" || FormFieldCollections[i].Name == "LandlordSignature") + { + AnneList.Add(FormFieldCollections[i]); + } + else + { + AndrewList.Add(FormFieldCollections[i]); + } + } + } + + if (currentUser.Mail == "anne@mycompany.com") + { + if (isUser) + { + ValidateAndSaveForm(); + if (!isErrorMessage) + { + buttonAdv.IsEnabled = true; + foreach (var item in AnneList) + { + if (item is PdfLoadedTextBoxField textFormField) + { + textFormField.Visibility = PdfFormFieldVisibility.Visible; + textFormField.ReadOnly = false; + } + else if (item is PdfLoadedSignatureField signatureFormField) + { + signatureFormField.Visibility = PdfFormFieldVisibility.Visible; + signatureFormField.ReadOnly = false; + } + } + foreach (var item in AndrewList) + { + if (item is PdfLoadedTextBoxField pdfLoadedTextBoxField) + { + PdfLoadedTextBoxField textBoxField = item as PdfLoadedTextBoxField; + PdfLoadedTextBoxField textbox = pdfviewer.LoadedDocument.Form.Fields[0] as PdfLoadedTextBoxField; + textBoxField.BackColor = PdfColor.Empty; + textBoxField.ReadOnly = true; + } + else if (item is PdfLoadedSignatureField pdfLoadedSignatureField) + { + PdfLoadedSignatureField signatureField = item as PdfLoadedSignatureField; + signatureField.ReadOnly = true; + } + } + } + } + } + else + { + buttonAdv.IsEnabled = false; + foreach (var item in AnneList) + { + if (item is PdfLoadedTextBoxField textFormField) + { + if (textFormField.Text == "") + textFormField.Visibility = PdfFormFieldVisibility.Hidden; + else + textFormField.ReadOnly = true; + } + else if (item is PdfLoadedSignatureField signatureFormField) + { + if (!(IsSignatureFieldSigned(signatureFormField)) && signatureFormField.Visibility != PdfFormFieldVisibility.Hidden) + signatureFormField.Visibility = PdfFormFieldVisibility.Hidden; + else + signatureFormField.ReadOnly = true; + } + } + } + AnneList.Clear(); + AndrewList.Clear(); + } + } + + /// + /// Validate the for fields and update the error message. + /// + public void ValidateAndSaveForm() + { + + errors = "Required field(s) that need to be filled: "; + foreach (PdfField formField in AndrewList) + { + if (formField is PdfLoadedTextBoxField textFormField) + { + if (string.IsNullOrWhiteSpace(textFormField.Text)) + { + errors = errors + textFormField.Name + ", "; + } + } + + else if (formField is PdfLoadedSignatureField signatureFormField) + { + if (!(IsSignatureFieldSigned(signatureFormField))) + { + errors = errors + signatureFormField.Name + ", "; + } + } + } + + if (errors != "Required field(s) that need to be filled: ") + { + isErrorMessage = true; + } + else + { + isErrorMessage = false; + } + } + /// + /// Checks if a signature field has been signed. + /// + /// The signature field to check. + public bool IsSignatureFieldSigned(PdfLoadedSignatureField signatureField) + { + bool isSigned = false; + if (signatureField.Page != null && signatureField.Page.Annotations.Count > 0) + { + foreach (var annotation in signatureField.Page.Annotations) + { + if (annotation is PdfLoadedInkAnnotation) + { + PdfLoadedInkAnnotation signature = annotation as PdfLoadedInkAnnotation; + if (signature.Name != signatureField.Name) + { + isSigned = false; + } + else + { + isSigned = true; + break; + } + } + else if (annotation is PdfInkAnnotation) + { + PdfInkAnnotation signature = annotation as PdfInkAnnotation; + if (signature.Name != signatureField.Name) + { + isSigned = false; + } + else + { + isSigned = true; + break; + } + } + else + { + isSigned = false; + } + } + } + return isSigned; + } + + private void button_Click(object sender, EventArgs e) + { + bool hasErrors = false; + PdfLoadedDocument pdfLoadedDocument = pdfviewer.LoadedDocument; + if (pdfLoadedDocument.Form != null && pdfLoadedDocument.Form.Fields.Count > 0) + { + errors = "Required field(s) that need to be filled: "; + foreach (var field in pdfLoadedDocument.Form.Fields) + { + if (field is PdfLoadedTextBoxField) + { + PdfLoadedTextBoxField textBoxField = field as PdfLoadedTextBoxField; + if (string.IsNullOrWhiteSpace(textBoxField.Text)) + { + errors = errors + textBoxField.Name + ", "; + hasErrors = true; + } + } + else if (field is PdfLoadedSignatureField signatureField) + { + if (!(IsSignatureFieldSigned(signatureField))) + { + errors = errors + signatureField.Name + ", "; + hasErrors = true; + } + } + } + if (hasErrors) + { + DisplayMessage(); + } + } + if (!hasErrors) + { + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.Filter = "PDF Files|*.pdf"; + string downloadsFolder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Downloads"; + saveFileDialog.InitialDirectory = downloadsFolder; + saveFileDialog.FileName = "eSign_filling.pdf"; + + if (saveFileDialog.ShowDialog() == true) + { + var formFields = pdfviewer.LoadedDocument.Form.Fields; + foreach (var item in formFields) + { + if (item is PdfLoadedTextBoxField pdfLoadedTextBoxField) + { + PdfLoadedTextBoxField textBoxField = item as PdfLoadedTextBoxField; + textBoxField.BackColor = PdfColor.Empty; + textBoxField.Flatten = true; + } + else if (item is PdfLoadedSignatureField pdfLoadedSignatureField) + { + PdfLoadedSignatureField signatureField = item as PdfLoadedSignatureField; + signatureField.Flatten = true; + } + } + using (Stream saveStream = new FileStream(saveFileDialog.FileName, FileMode.Create, FileAccess.Write)) + { + pdfviewer.LoadedDocument.Save(saveStream); + } + pdfviewer.Load(saveFileDialog.FileName); + comboBox.IsEnabled = false; + isUser = false; + } + } + + } + } +} diff --git a/FormFields/User-BasedFormFieldVisibility/Properties/AssemblyInfo.cs b/FormFields/User-BasedFormFieldVisibility/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..99e6534 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/Properties/AssemblyInfo.cs @@ -0,0 +1,48 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly:ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] diff --git a/FormFields/User-BasedFormFieldVisibility/Properties/Resources.Designer.cs b/FormFields/User-BasedFormFieldVisibility/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c8e371e --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace User_BasedFormFieldVisibility.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("User_BasedFormFieldVisibility.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/FormFields/User-BasedFormFieldVisibility/Properties/Resources.resx b/FormFields/User-BasedFormFieldVisibility/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/FormFields/User-BasedFormFieldVisibility/Properties/Settings.Designer.cs b/FormFields/User-BasedFormFieldVisibility/Properties/Settings.Designer.cs new file mode 100644 index 0000000..92da028 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace User_BasedFormFieldVisibility.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/FormFields/User-BasedFormFieldVisibility/Properties/Settings.settings b/FormFields/User-BasedFormFieldVisibility/Properties/Settings.settings new file mode 100644 index 0000000..033d7a5 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.csproj b/FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.csproj new file mode 100644 index 0000000..d63b0eb --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.csproj @@ -0,0 +1,116 @@ + + + + + Debug + AnyCPU + {7B96E505-1FDE-4188-86E8-0DF4B8D68FF6} + WinExe + User_BasedFormFieldVisibility + User-BasedFormFieldVisibility + v4.6.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + true + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + + MainWindow.xaml + Code + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.sln b/FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.sln new file mode 100644 index 0000000..edcd4d8 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/User-BasedFormFieldVisibility.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35818.85 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "User-BasedFormFieldVisibility", "User-BasedFormFieldVisibility.csproj", "{7B96E505-1FDE-4188-86E8-0DF4B8D68FF6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7B96E505-1FDE-4188-86E8-0DF4B8D68FF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B96E505-1FDE-4188-86E8-0DF4B8D68FF6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B96E505-1FDE-4188-86E8-0DF4B8D68FF6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B96E505-1FDE-4188-86E8-0DF4B8D68FF6}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1E02E291-FA92-4A86-A823-5EF1008E243F} + EndGlobalSection +EndGlobal diff --git a/FormFields/User-BasedFormFieldVisibility/packages.config b/FormFields/User-BasedFormFieldVisibility/packages.config new file mode 100644 index 0000000..5f1b6c9 --- /dev/null +++ b/FormFields/User-BasedFormFieldVisibility/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file