WPF常用样式总结
程序员文章站
2022-04-28 21:50:51
常用控件样式: ......
常用控件样式:
<resourcedictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <!-- 文字按钮 --> <style x:key="stltxtbtn" targettype="{x:type button}"> <setter property="template"> <setter.value> <controltemplate targettype="{x:type button}"> <border background="transparent"> <border x:name="bd" background="#1aa4f5" cornerradius="2" padding="{templatebinding padding}"> <textblock x:name="txt" verticalalignment="center" horizontalalignment="center" margin="5 2 5 2" foreground="white" ><inlineuicontainer> <contentpresenter /> </inlineuicontainer></textblock> </border> </border> <controltemplate.triggers> <trigger property="ismouseover" value="true"> <setter targetname="bd" property="background" value="#33c4f5"/> </trigger> <trigger property="ispressed" value="true"> <setter targetname="txt" property="fontsize" value="11"/> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!-- 文字按钮浅色 --> <style x:key="stltxtbtnlight" targettype="{x:type button}"> <setter property="template"> <setter.value> <controltemplate targettype="{x:type button}"> <border background="transparent"> <border x:name="bd" background="#0cc663" cornerradius="2" padding="{templatebinding padding}"> <textblock x:name="txt" verticalalignment="center" horizontalalignment="center" margin="5 2 5 2" foreground="white" ><inlineuicontainer> <contentpresenter /> </inlineuicontainer></textblock> </border> </border> <controltemplate.triggers> <trigger property="ismouseover" value="true"> <setter targetname="bd" property="background" value="#0cb653"/> </trigger> <trigger property="ispressed" value="true"> <setter targetname="txt" property="fontsize" value="11"/> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!-- 图片按钮 --> <controltemplate x:key="tmplimgbtn" targettype="{x:type button}"> <border x:name="bd" width="{templatebinding width}" height="{templatebinding height}" cornerradius="2" background="{templatebinding background}" > <stackpanel orientation="horizontal" horizontalalignment="center"> <image x:name="img" margin="-2 2 3 0" width="15" height="15" verticalalignment="center" stretch="uniformtofill" source="{templatebinding tag}" /> <textblock x:name="txt" fontsize="{templatebinding property=fontsize}" foreground="{templatebinding foreground}" text="{templatebinding property=content}" verticalalignment="center"/> </stackpanel> </border> <controltemplate.triggers> <trigger property="ismouseover" value="true"> <setter targetname="bd" property="background" value="#33c4f5"/> </trigger> <trigger property="ispressed" value="true"> <setter targetname="txt" property="fontsize" value="11"/> <setter targetname="img" property="width" value="14"/> <setter targetname="img" property="height" value="14"/> </trigger> </controltemplate.triggers> </controltemplate> <!-- 图片按钮 --> <style x:key="stlimgbtn" targettype="{x:type button}"> <setter property="margin" value="5,0"/> <setter property="height" value="25"/> <setter property="foreground" value="white"/> <setter property="background" value="#15a6f9"/> <setter property="template" value="{staticresource tmplimgbtn}"/> </style> <!-- 只有图片的按钮 --> <controltemplate x:key="tmplbtnimgonly" targettype="{x:type button}"> <border background="#aa013440" width="{templatebinding width}" height="{templatebinding height}" > <image x:name="img" width="16" height="16" stretch="fill" source="{templatebinding property=content}"></image> </border> <controltemplate.triggers> <trigger property="ispressed" value="true"> <setter targetname="img" property="margin" value="2"></setter> </trigger> <trigger property="isenabled" value="false"> <setter targetname="img" property="opacity" value="0.5"></setter> </trigger> </controltemplate.triggers> </controltemplate> <!-- 输入框样式 --> <style targettype="{x:type textbox}" x:key="stltxt"> <setter property="horizontalalignment" value="left"/> <setter property="height" value="28"/> <setter property="margin" value="5,0,0,0"/> <setter property="foreground" value="white"/> <setter property="caretbrush" value="white"/> <setter property="template"> <setter.value> <controltemplate targettype="{x:type textbox}"> <border cornerradius="2" borderthickness="0" borderbrush="#eee" background="#0a5d7b"> <grid> <border x:name="borderbase" background="transparent" borderthickness="1.4,1.4,1,1" borderbrush="transparent" /> <label x:name="textprompt" content="{templatebinding tag}" foreground="gray" verticalalignment="center" visibility="collapsed" focusable="false" /> <scrollviewer margin="2 0 0 0" verticalalignment="center" x:name="part_contenthost" /> </grid> </border> <controltemplate.triggers> <multitrigger> <multitrigger.conditions> <condition property="isfocused" value="false"/> <condition property="text" value=""/> </multitrigger.conditions> <setter property="visibility" targetname="textprompt" value="visible"/> </multitrigger> <trigger property="isfocused" value="true"> <setter property="borderthickness" targetname="borderbase" value="2.4,1.4,1,1"/> </trigger> <trigger property="isenabled" value="false"> <setter property="foreground" value="gray" /> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!-- 输入框样式 --> <style targettype="{x:type richtextbox}" x:key="stlrtb"> <setter property="verticalscrollbarvisibility" value="auto"/> <setter property="horizontalalignment" value="left"/> <setter property="margin" value="5 0 0 0"/> <setter property="foreground" value="white"/> <setter property="caretbrush" value="white"/> <setter property="template"> <setter.value> <controltemplate targettype="{x:type richtextbox}"> <border borderthickness="0" borderbrush="#eee" cornerradius="2" background="#0a5d7b"> <grid> <border x:name="borderbase" background="transparent" borderthickness="1.4,1.4,1,1" borderbrush="transparent" /> <label x:name="textprompt" content="{templatebinding tag}" foreground="gray" verticalalignment="top" visibility="collapsed" focusable="false" /> <border x:name="border" margin="0 8 0 5"> <scrollviewer margin="0" verticalalignment="top" x:name="part_contenthost" height="{binding actualheight, elementname=border}" /> </border> </grid> </border> <controltemplate.triggers> <multitrigger> <multitrigger.conditions> <condition property="isfocused" value="false"/> </multitrigger.conditions> <setter property="visibility" targetname="textprompt" value="visible"/> </multitrigger> <trigger property="isfocused" value="true"> <setter property="borderthickness" targetname="borderbase" value="2.4,1.4,1,1"/> </trigger> <trigger property="isenabled" value="false"> <setter property="foreground" value="gray" /> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!--下拉条目样式--> <style targettype="{x:type comboboxitem}" x:key="stlcbxitem"> <setter property="horizontalcontentalignment" value="stretch" /> <setter property="verticalcontentalignment" value="center" /> <setter property="renderoptions.cleartypehint" value="enabled" /> <setter property="borderthickness" value="0" /> <setter property="height" value="28" /> <setter property="template"> <setter.value> <controltemplate targettype="{x:type comboboxitem}"> <grid background="{templatebinding background}" margin="0,0.5"> <border x:name="itembackground" cornerradius="1" ishittestvisible="false" snapstodevicepixels="{templatebinding snapstodevicepixels}" borderthickness="{templatebinding borderthickness}" borderbrush="{templatebinding borderbrush}" background="{templatebinding background}" /> <contentpresenter x:name="contentpresenter" margin="{templatebinding padding}" verticalalignment="{templatebinding verticalcontentalignment}" horizontalalignment="{templatebinding horizontalcontentalignment}" /> </grid> <controltemplate.triggers> <trigger property="isselected" value="true"> <setter targetname="itembackground" property="background" value="#224466" /> </trigger> <trigger property="ismouseover" value="true"> <setter targetname="itembackground" property="background" value="#226688" /> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!-- 下拉框样式 --> <style targettype="{x:type togglebutton}" x:key="stltogglebutton"> <setter property="foreground" value="white"/> <setter property="template"> <setter.value> <controltemplate> <grid background="transparent"> <grid.columndefinitions> <columndefinition width="0.7*"/> <columndefinition width="0.3*" maxwidth="30" minwidth="16"/> </grid.columndefinitions> <textblock grid.column="0" foreground="white" margin="5 0 0 0" text="{binding text, relativesource={relativesource ancestortype={x:type combobox}, mode=findancestor}}" verticalalignment="center"/> <border grid.column="1" x:name="back" background="transparent" borderthickness="0" borderbrush="transparent"> <path x:name="pathfill" fill="#1b94e0" width="8" height="6" strokethickness="0" data="m5,0 l10,10 l0,10 z" rendertransformorigin="0.5,0.5" stretch="fill"> <path.rendertransform> <transformgroup> <scaletransform /> <skewtransform /> <rotatetransform angle="180"/> <translatetransform/> </transformgroup> </path.rendertransform> </path> </border> </grid> <controltemplate.triggers> <trigger property="ismouseover" value="true"> <setter targetname="pathfill" property="fill" value="#1b94e0"/> <setter targetname="back" property="background" value="transparent"/> <setter targetname="back" property="borderbrush" value="transparent"/> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!-- 下拉框样式 --> <style x:key="stlcbx" targettype="{x:type combobox}" > <setter property="snapstodevicepixels" value="true"/> <setter property="scrollviewer.horizontalscrollbarvisibility" value="auto"/> <setter property="scrollviewer.verticalscrollbarvisibility" value="auto"/> <setter property="scrollviewer.cancontentscroll" value="true"/> <setter property="horizontalalignment" value="left"/> <setter property="foreground" value="black"/> <setter property="height" value="28"/> <setter property="margin" value="0,0,0,0"/> <setter property="itemcontainerstyle" value="{staticresource stlcbxitem}" /> <setter property="itemtemplate"> <setter.value> <datatemplate> <textblock text="{binding text}" foreground="#fff" margin="0 3 0 3" /> </datatemplate> </setter.value> </setter> <setter property="template"> <setter.value> <controltemplate targettype="{x:type combobox}"> <border borderthickness="0" borderbrush="#eee" cornerradius="2" background="#0a5d7b"> <grid> <togglebutton style="{staticresource stltogglebutton}" ischecked="{binding isdropdownopen, mode=twoway, relativesource={relativesource templatedparent}}" clickmode="press"/> <popup isopen="{templatebinding isdropdownopen}" placement="bottom" x:name="popup" focusable="false" allowstransparency="true" popupanimation="slide" > <border maxheight="{templatebinding maxdropdownheight}" minwidth="{templatebinding actualwidth}" x:name="dropdown" snapstodevicepixels="true" background="transparent" > <border background="#002244" cornerradius="2" margin="0 2 0 0"> <scrollviewer margin="4,6,4,6" style="{dynamicresource scrollviewerstyle}" maxheight="{templatebinding maxdropdownheight}" snapstodevicepixels="true" horizontalscrollbarvisibility="auto" verticalscrollbarvisibility="auto" cancontentscroll="true"> <!-- stackpanel 用于显示子级,方法是将 isitemshost 设置为 true --> <stackpanel isitemshost="true" keyboardnavigation.directionalnavigation="contained" background="#002244" /> </scrollviewer> </border> </border> </popup> </grid> </border> </controltemplate> </setter.value> </setter> </style> <!-- 复选框样式 --> <controltemplate x:key="tmplckb" targettype="{x:type checkbox}"> <grid x:name="buttoncontent" width="14" height="14" horizontalalignment="center" verticalalignment="center"> <image x:name="btnimagesrc" stretch="fill" source="/suncreate.common.controls;component/images/controls/复选1.png"/> </grid> <controltemplate.triggers> <trigger property="ischecked" value="true"> <setter targetname="btnimagesrc" property="source" value="/suncreate.common.controls;component/images/controls/复选2.png"/> </trigger> </controltemplate.triggers> </controltemplate> <!-- 单选按钮样式(带背景色) --> <controltemplate x:key="tmplrdbbackground" targettype="{x:type radiobutton}"> <grid> <border x:name="bd2" cornerradius="2" opacity="1" borderthickness="1" borderbrush="{templatebinding background}" snapstodevicepixels="true"/> <border x:name="bd" cornerradius="2" opacity="0" background="{templatebinding background}" snapstodevicepixels="true"/> <border x:name="backgroundradioboard" height="{templatebinding property=height}" width="{templatebinding property=width}" background="transparent"> <textblock fontsize="{templatebinding property=fontsize}" text="{templatebinding property=content}" horizontalalignment="center" verticalalignment="center" foreground="{templatebinding property=foreground}"/> </border> </grid> <controltemplate.triggers> <trigger property="ischecked" value="true"> <setter targetname="bd" property="opacity" value="1"/> </trigger> <trigger property="ismouseover" value="true"> <setter targetname="bd" property="opacity" value="1"/> </trigger> </controltemplate.triggers> </controltemplate> <!-- 单选按钮样式(带小圆圈) --> <controltemplate x:key="tmplrdbcircle" targettype="{x:type radiobutton}"> <border x:name="radiobtnboard" cornerradius="2" height="{templatebinding property=height}" width="{templatebinding property=width}" background="transparent"> <stackpanel orientation="horizontal"> <image x:name="img" margin="5 0 5 0" width="14" height="14" stretch="fill" source="/suncreate.common.controls;component/images/controls/单选1.png"/> <textblock x:name="txt" margin="0 0 5 0" fontsize="{templatebinding property=fontsize}" text="{templatebinding property=content}" verticalalignment="center" foreground="{templatebinding property=foreground}" /> </stackpanel> </border> <controltemplate.triggers> <trigger property="ischecked" value="true"> <setter targetname="img" property="source" value="/suncreate.common.controls;component/images/controls/单选2.png"/> </trigger> <trigger property="ismouseover" value="true"> <setter targetname="radiobtnboard" property="background" value="#331aa4f5"/> </trigger> </controltemplate.triggers> </controltemplate> <!-- 单选按钮样式 --> <controltemplate x:key="tmplrdb" targettype="{x:type radiobutton}"> <border x:name="radiobtnboard" cornerradius="2" height="{templatebinding property=height}" width="{templatebinding property=width}" background="transparent"> <textblock x:name="txt" fontsize="{templatebinding property=fontsize}" text="{templatebinding property=content}" horizontalalignment="center" verticalalignment="center" foreground="{templatebinding property=foreground}"/> </border> <controltemplate.triggers> <trigger property="ischecked" value="true"> <setter targetname="radiobtnboard" property="background" value="#1aa4f5"/> </trigger> <trigger property="ismouseover" value="true"> <setter targetname="radiobtnboard" property="background" value="#331aa4f5"/> </trigger> </controltemplate.triggers> </controltemplate> <!-- 单选按钮样式 --> <style x:key="stlrdb" targettype="{x:type radiobutton}"> <setter property="fontsize" value="11"/> <setter property="height" value="22"/> <setter property="width" value="50"/> <setter property="foreground" value="white"/> <setter property="margin" value="5,0"/> <setter property="template" value="{staticresource tmplrdb}"/> </style> <!-- 单选按钮样式(带小圆圈) --> <style x:key="stlrdbcircle" targettype="{x:type radiobutton}"> <setter property="fontsize" value="11"/> <setter property="height" value="22"/> <setter property="foreground" value="white"/> <setter property="margin" value="5,0"/> <setter property="template" value="{staticresource tmplrdbcircle}"/> </style> <!-- 单选按钮样式(带背景色) --> <style x:key="stlrdbbackground" targettype="{x:type radiobutton}"> <setter property="fontsize" value="11"/> <setter property="height" value="22"/> <setter property="width" value="50"/> <setter property="foreground" value="white"/> <setter property="margin" value="5,0"/> <setter property="template" value="{staticresource tmplrdbbackground}"/> </style> <!--slider样式--> <style x:key="stlrepeatbuttonleft" targettype="repeatbutton"> <setter property="focusable" value="false" /> <setter property="template"> <setter.value> <controltemplate targettype="repeatbutton"> <border background="#01ffff" snapstodevicepixels="true" /> </controltemplate> </setter.value> </setter> </style> <style x:key="stlrepeatbuttonright" targettype="repeatbutton"> <setter property="focusable" value="false" /> <setter property="template"> <setter.value> <controltemplate targettype="repeatbutton"> <border background="#0998b8" snapstodevicepixels="true" /> </controltemplate> </setter.value> </setter> </style> <style x:key="stlthumb" targettype="thumb"> <setter property="focusable" value="false" /> <setter property="template"> <setter.value> <controltemplate targettype="thumb"> <grid> <border margin="0 -4 0 -4" background="#01ffff" width="8" height="12" snapstodevicepixels="true"> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="stlthumbreadonly" targettype="thumb"> <setter property="focusable" value="false" /> <setter property="template"> <setter.value> <controltemplate targettype="thumb"> <grid> <border margin="0 0 0 0" background="#01ffff" width="0" height="4"> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="stlslider" targettype="slider"> <setter property="focusable" value="false" /> <setter property="template"> <setter.value> <controltemplate targettype="slider"> <grid> <border height="4"> <track name="part_track"> <track.decreaserepeatbutton> <repeatbutton style="{staticresource stlrepeatbuttonleft}" command="slider.decreaselarge"/> </track.decreaserepeatbutton> <track.increaserepeatbutton> <repeatbutton style="{staticresource stlrepeatbuttonright}" command="slider.increaselarge"/> </track.increaserepeatbutton> <track.thumb> <thumb style="{staticresource stlthumb}"/> </track.thumb> </track> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="stlsliderreadonly" targettype="slider"> <setter property="isenabled" value="false" /> <setter property="focusable" value="false" /> <setter property="template"> <setter.value> <controltemplate targettype="slider"> <grid> <border height="4"> <track name="part_track"> <track.decreaserepeatbutton> <repeatbutton style="{staticresource stlrepeatbuttonleft}" command="slider.decreaselarge"/> </track.decreaserepeatbutton> <track.increaserepeatbutton> <repeatbutton style="{staticresource stlrepeatbuttonright}" command="slider.increaselarge"/> </track.increaserepeatbutton> <track.thumb> <thumb style="{staticresource stlthumbreadonly}"/> </track.thumb> </track> </border> </grid> </controltemplate> </setter.value> </setter> </style> <!--tooltip样式--> <style x:key="stltooltip" targettype="tooltip"> <setter property ="background" value="#99001133"></setter> <setter property ="borderthickness" value="0"></setter> <setter property ="contenttemplate"> <setter.value> <datatemplate> <textblock text="{templatebinding content}" foreground="#fff" background="transparent" textwrapping="wrap"></textblock> </datatemplate> </setter.value> </setter> </style> </resourcedictionary>
单选按钮样式(模拟tab页):
<!-- 单选按钮样式 --> <controltemplate x:key="tmplradiobutton" targettype="{x:type radiobutton}"> <grid> <border x:name="bd" background="transparent" borderthickness="0 0 0 3" borderbrush="transparent" snapstodevicepixels="true"> <textblock x:name="txt" margin="5 0 5 0" text="{templatebinding content}" foreground="#babec2" verticalalignment="center" horizontalalignment="center"></textblock> </border> </grid> <controltemplate.triggers> <trigger property="ischecked" value="true"> <setter targetname="bd" property="borderbrush" value="#01f9fe"/> <setter targetname="txt" property="foreground" value="#38faf4"/> </trigger> <trigger property="ismouseover" value="true"> <setter targetname="txt" property="foreground" value="#38faf4"/> </trigger> </controltemplate.triggers> </controltemplate>
单选按钮样式(模拟tab页)效果图:
列表样式(listview样式、datagrid样式):
<resourcedictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <!--listview样式(1):无边框,奇偶行颜色不相同--> <style x:key="itemcontainerstyle1" targettype="{x:type listviewitem}" > <setter property="background" value="transparent"/> <setter property="foreground" value="white"></setter> <setter property="fontsize" value="12" /> <setter property="height" value="40"/> <setter property="template"> <setter.value> <controltemplate targettype="listviewitem"> <border x:name="tborder" background="{templatebinding background}"> <gridviewrowpresenter content="{templatebinding content}" columns="{templatebinding gridview.columncollection}"/> </border> <controltemplate.triggers> <trigger property="listview.alternationindex" value="0"> <setter property="background" value="{staticresource itemsalternationindexbackground0}"/> </trigger> <trigger property="listview.alternationindex" value="1"> <setter property="background" value="{staticresource itemsalternationindexbackground1}"/> </trigger> <trigger property="isselected" value="true"> <setter property="foreground" value="{staticresource itemselectedforeground}"/> <setter targetname="tborder" property="background" value="{staticresource itemselectedbackground}" /> </trigger> <trigger property="ismouseover" value="true"> <setter property="foreground" value="{staticresource itemmouseoverforeground}"/> <setter targetname="tborder" property="background" value="{staticresource itemmouseoverbackground}" /> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <!--无边框 带下划线--> <style x:key="bottomlinerowstyle" targettype="{x:type listviewitem}" > <setter property="background" value="transparent"/> <setter property="template"> <setter.value> <controltemplate targettype="listviewitem"> <border borderthickness="0,0,0,1" borderbrush="{staticresource bordercontent}"> <gridviewrowpresenter content="{templatebinding content}" columns="{templatebinding gridview.columncollection}"/> </border> </controltemplate> </setter.value> </setter> <setter property="foreground" value="white"></setter> <setter property="fontsize" value="12" /> <setter property="height" value="40"/> <style.triggers> <trigger property="isselected" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> <trigger property="ismouseover" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> </style.triggers> </style> <style x:key="columnheadercontainerstyle1" targettype="{x:type gridviewcolumnheader}"> <setter property="overridesdefaultstyle" value="true"/> <setter property="foreground" value="{staticresource headerforeground}"></setter> <setter property="template"> <setter.value> <controltemplate targettype="{x:type gridviewcolumnheader}"> <grid background="transparent" > <border padding="{templatebinding padding}"> <contentpresenter horizontalalignment="center" margin="5,4,1,3" verticalalignment="center" /> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="listviewstyle1" targettype="listview"> <setter property="itemcontainerstyle" value="{staticresource itemcontainerstyle1}"></setter> <setter property="alternationcount" value="2"/> <setter property="template"> <setter.value> <controltemplate targettype="listview"> <border background="transparent"> <grid> <grid.rowdefinitions> <rowdefinition height="40"/> <rowdefinition height="1*"/> </grid.rowdefinitions> <border cornerradius="3" borderthickness="{staticresource borderthickness}" borderbrush="{staticresource headerborderbrush}" background="{staticresource headerbackground}"> <gridviewheaderrowpresenter columns="{binding path=templatedparent.view.columns, relativesource={relativesource self}}" columnheadercontainerstyle="{staticresource columnheadercontainerstyle1}" allowscolumnreorder="{binding path=templatedparent.view.allowscolumnreorder, relativesource={relativesource self}}" snapstodevicepixels="{templatebinding snapstodevicepixels}" > </gridviewheaderrowpresenter> </border> <scrollviewer margin="0" grid.row="1"> <itemspresenter /> </scrollviewer> </grid> </border> </controltemplate> </setter.value> </setter> </style> <!--listview样式(2):带边框,奇偶行颜色不相同--> <style x:key="itemcontainerstyle2" targettype="{x:type listviewitem}" > <setter property="background" value="transparent"/> <setter property="template"> <setter.value> <controltemplate targettype="listviewitem"> <border background="{templatebinding background}" borderthickness="0 0 1 1" borderbrush="{staticresource bordercontent}"> <gridviewrowpresenter content="{templatebinding content}" columns="{templatebinding gridview.columncollection}" margin="-6 -3"/> </border> </controltemplate> </setter.value> </setter> <setter property="foreground" value="white"></setter> <setter property="fontsize" value="12" /> <setter property="height" value="40"/> <style.triggers> <trigger property="listview.alternationindex" value="0"> <setter property="background" value="#023746"/> </trigger> <trigger property="isselected" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> <trigger property="ismouseover" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> </style.triggers> </style> <style x:key="columnheadercontainerstyle2" targettype="{x:type gridviewcolumnheader}"> <setter property="overridesdefaultstyle" value="true"/> <setter property="foreground" value="#21ddfb"></setter> <setter property="template"> <setter.value> <controltemplate targettype="{x:type gridviewcolumnheader}"> <grid name="g" background="transparent" > <border name="bd" padding="{templatebinding padding}" borderthickness="0 0 1 0" borderbrush="{staticresource bordercontent}"> <contentpresenter horizontalalignment="center" verticalalignment="center" margin="-5 -3"/> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="listviewstyle2" targettype="listview"> <setter property="itemcontainerstyle" value="{staticresource itemcontainerstyle2}"></setter> <setter property="alternationcount" value="2"/> <setter property="template"> <setter.value> <controltemplate targettype="listview"> <border background="transparent"> <grid> <grid.rowdefinitions> <rowdefinition height="40"/> <rowdefinition height="1*"/> </grid.rowdefinitions> <border background="#034558" borderthickness="{staticresource borderthickness}" borderbrush="#087e85"> <gridviewheaderrowpresenter columns="{binding path=templatedparent.view.columns, relativesource={relativesource self}}" columnheadercontainerstyle="{staticresource columnheadercontainerstyle2}" allowscolumnreorder="{binding path=templatedparent.view.allowscolumnreorder, relativesource={relativesource self}}" snapstodevicepixels="{templatebinding snapstodevicepixels}" > </gridviewheaderrowpresenter> </border> <scrollviewer margin="0" grid.row="1"> <itemspresenter /> </scrollviewer> </grid> </border> </controltemplate> </setter.value> </setter> </style> <!--listview样式(3):无边框,奇偶行颜色不相同,菜单上使用--> <style x:key="itemcontainerstyle3" targettype="{x:type listviewitem}" > <setter property="background" value="transparent"/> <setter property="template"> <setter.value> <controltemplate targettype="listviewitem"> <border background="{templatebinding background}"> <gridviewrowpresenter content="{templatebinding content}" columns="{templatebinding gridview.columncollection}"/> </border> </controltemplate> </setter.value> </setter> <setter property="foreground" value="#1a1a1a"></setter> <setter property="fontsize" value="12" /> <setter property="margin" value="0" /> <setter property="height" value="30"/> <style.triggers> <trigger property="listview.alternationindex" value="0"> <setter property="background" value="#e8e0e8e8"/> </trigger> <trigger property="isselected" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> <trigger property="ismouseover" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> </style.triggers> </style> <style x:key="columnheadercontainerstyle3" targettype="{x:type gridviewcolumnheader}"> <setter property="overridesdefaultstyle" value="true"/> <setter property="foreground" value="#1a1a1a"></setter> <setter property="template"> <setter.value> <controltemplate targettype="{x:type gridviewcolumnheader}"> <grid name="g" > <border name="bd" padding="{templatebinding padding}" margin="5 0 5 0"> <contentpresenter verticalalignment="center" /> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="listviewstyle3" targettype="listview"> <setter property="itemcontainerstyle" value="{staticresource itemcontainerstyle3}"></setter> <setter property="alternationcount" value="2"/> <setter property="template"> <setter.value> <controltemplate targettype="listview"> <border> <grid> <grid.rowdefinitions> <rowdefinition height="40"/> <rowdefinition height="1*"/> </grid.rowdefinitions> <border borderthickness="0" cornerradius="2" margin="5 5 5 5" background="#ffffff"> <gridviewheaderrowpresenter columns="{binding path=templatedparent.view.columns, relativesource={relativesource self}}" columnheadercontainerstyle="{staticresource columnheadercontainerstyle3}" allowscolumnreorder="{binding path=templatedparent.view.allowscolumnreorder, relativesource={relativesource self}}" snapstodevicepixels="{templatebinding snapstodevicepixels}" > </gridviewheaderrowpresenter> </border> <scrollviewer grid.row="1" margin="5 0 5 0" horizontalscrollbarvisibility="hidden"> <itemspresenter /> </scrollviewer> </grid> </border> </controltemplate> </setter.value> </setter> </style> <!--listview样式(4):无边框,奇偶行颜色不相同,弹出窗口使用--> <style x:key="itemcontainerstyle4" targettype="{x:type listviewitem}" > <setter property="background" value="transparent"/> <setter property="template"> <setter.value> <controltemplate targettype="listviewitem"> <border background="{templatebinding background}"> <gridviewrowpresenter content="{templatebinding content}" columns="{templatebinding gridview.columncollection}"/> </border> </controltemplate> </setter.value> </setter> <setter property="foreground" value="black"></setter> <setter property="fontsize" value="12" /> <setter property="height" value="30"/> <style.triggers> <trigger property="listview.alternationindex" value="0"> <setter property="background" value="#eeeeee"/> </trigger> <trigger property="isselected" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> <trigger property="ismouseover" value="true"> <setter property="foreground" value="#ff5e5e"/> </trigger> </style.triggers> </style> <style x:key="columnheadercontainerstyle4" targettype="{x:type gridviewcolumnheader}"> <setter property="overridesdefaultstyle" value="true"/> <setter property="foreground" value="black"></setter> <setter property="template"> <setter.value> <controltemplate targettype="{x:type gridviewcolumnheader}"> <grid name="g" background="transparent" > <border name="bd" padding="{templatebinding padding}"> <contentpresenter horizontalalignment="center" margin="5,4,1,3" verticalalignment="center" /> </border> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="listviewstyle4" targettype="listview"> <setter property="itemcontainerstyle" value="{staticresource itemcontainerstyle4}"></setter> <setter property="alternationcount" value="2"/> <setter property="template"> <setter.value> <controltemplate targettype="listview"> <border background="transparent"> <grid> <grid.rowdefinitions> <rowdefinition height="30"/> <rowdefinition height="1*"/> </grid.rowdefinitions> <border background="#d6e5f1" borderthickness="{staticresource borderthickness}" borderbrush="#087e85" cornerradius="3"> <gridviewheaderrowpresenter columns="{binding path=templatedparent.view.columns, relativesource={relativesource self}}" columnheadercontainerstyle="{staticresource columnheadercontainerstyle4}" allowscolumnreorder="{binding path=templatedparent.view.allowscolumnreorder, relativesource={relativesource self}}" snapstodevicepixels="{templatebinding snapstodevicepixels}" > </gridviewheaderrowpresenter> </border> <scrollviewer margin="0" grid.row="1"> <itemspresenter /> </scrollviewer> </grid> </border> </controltemplate> </setter.value> </setter> </style> <!--datagrid样式:带边框,奇偶行颜色不相同--> <style x:key="defaultcolumnheadergripperstyle" targettype="{x:type thumb}"> <setter property="width" value="8" /> <setter property="background" value="{staticresource headerborderbrush}" /> <setter property="cursor" value="sizewe" /> <setter property="template"> <setter.value> <controltemplate targettype="{x:type thumb}"> <border padding="{templatebinding padding}" background="transparent" margin="0 0 0 2"> <rectangle horizontalalignment="{templatebinding horizontalcontentalignment}" width="1" fill="{templatebinding background}" /> </border> </controltemplate> </setter.value> </setter> </style> <style x:key="defaultdatagridcolumnheader" targettype="{x:type datagridcolumnheader}"> <setter property="snapstodevicepixels" value="true" /> <setter property="minwidth" value="5" /> <setter property="minheight" value="40" /> <setter property="height" value="40" /> <setter property="foreground" value="{staticresource headerforeground}" /> <setter property="horizontalcontentalignment" value="center" /> <setter property="verticalcontentalignment" value="center" /> <setter property="padding" value="10,4,4,7" /> <setter property="margin" value="0,0,0,0" /> <setter property="fontweight" value="semibold"></setter> <setter property="fontsize" value="12" /> <setter property="borderthickness" value="0,0,0,3" /> <setter property="borderbrush" value="{staticresource bordercontent}" /> <setter property="background" value="{staticresource headerbackground}" /> <setter property="template"> <setter.value> <controltemplate targettype="{x:type datagridcolumnheader}"> <grid> <grid.columndefinitions> <columndefinition width="*" /> <columndefinition width="auto" /> </grid.columndefinitions> <border x:name="backgroundborder" borderthickness="{templatebinding borderthickness}" grid.columnspan="2" background="{templatebinding background}" borderbrush="{templatebinding borderbrush}" /> <contentpresenter x:name="headercontent" content="{templatebinding content}" contenttemplate="{templatebinding contenttemplate}" margin="{templatebinding padding}" verticalalignment="{templatebinding verticalcontentalignment}" horizontalalignment="{templatebinding horizontalcontentalignment}" recognizesaccesskey="true" snapstodevicepixels="{templatebinding snapstodevicepixels}" /> <textblock x:name="sortarrow" grid.column="1" width="20" visibility="collapsed" fontsize="16" margin="1,1,3,1" /> <thumb x:name="part_leftheadergripper" horizontalalignment="left" horizontalcontentalignment="left" style="{staticresource defaultcolumnheadergripperstyle}" /> <thumb x:name="part_rightheadergripper" horizontalalignment="right" horizontalcontentalignment="right" background="transparent" style="{staticresource defaultcolumnheadergripperstyle}" grid.column="1" /> </grid> <controltemplate.triggers> <!--显示排序标示--> <multitrigger> <multitrigger.conditions> <condition property="ismouseover" value="true" /> <condition property="sortdirection" value="{x:null}" /> <condition property="canusersort" value="true" /> </multitrigger.conditions> <setter targetname="sortarrow" property="visibility" value="visible" /> </multitrigger> <!--可排序列鼠标样式--> <trigger property="canusersort" value="true"> <setter property="cursor" value="hand"></setter> </trigger> <!--升序--> <trigger property="sortdirection" value="ascending"> <setter targetname="sortarrow" property="visibility" value="visible" /> </trigger> <!--降序--> <trigger property="sortdirection" value="descending"> <setter targetname="sortarrow" property="visibility" value="visible" /> <setter targetname="sortarrow" property="text" value=""/> </trigger> <!--第一列左边不显示分割线--> <trigger property="displayindex" value="2"> <setter property="visibility" value="collapsed" targetname="part_leftheadergripper" /> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style> <style x:key="defaultdatagridrow" targettype="{x:type datagridrow}"> <setter property="foreground" value="{staticresource textforeground}" /> <setter property="background" value="transparent" /> <setter property="margin" value="0,0,0,0" /> <style.triggers> <trigger property="alternationindex" value="0" > <setter property="background" value="{staticresource itemsalternationindexbackground0}" /> </trigger> <trigger property="alternationindex" value="1" > <setter property="background" value="{staticresource itemsalternationindexbackground1}" /> </trigger> <trigger property="isselected" value="true"> <setter property="background" value="{staticresource itemselectedbackground}" /> <setter property="foreground" value="{staticresource itemselectedforeground}" /> </trigger> <multitrigger> <multitrigger.conditions> <condition property="isselected" value="true" /> <condition property="selector.isselectionactive" value="true" /> </multitrigger.conditions> <setter property="background" value="{staticresource itemselectedbackground}" /> <setter property="foreground" value="{staticresource itemselectedforeground}" /> </multitrigger> <multidatatrigger> <multidatatrigger.conditions> <condition binding="{binding path=ismouseover, relativesource={relativesource self}}" value="true" /> </multidatatrigger.conditions> <setter property="background" value="{staticresource itemmouseoverbackground}" /> <setter property="foreground" value="{staticresource itemmouseoverforeground}" /> </multidatatrigger> </style.triggers> </style> <style x:key="defaultrowheadergripperstyle" targettype="{x:type thumb}"> <setter property="height" value="6" /> <setter property="background" value="transparent" /> <setter property="cursor" value="sizens" /> <setter property="template"> <setter.value> <controltemplate targettype="{x:type thumb}"> <border padding="{templatebinding padding}" background="transparent"/> </controltemplate> </setter.value> </setter> </style> <style x:key="defaultdatagridrowheader" targettype="{x:type datagridrowheader}"> <setter property="horizontalcontentalignment" value="stretch" /> <setter property="verticalcontentalignment" value="center" /> <setter property="background" value="transparent" /> <setter property="borderbrush" value="transparent" /> <setter property="borderthickness" value="0,0,1,0" /> <setter property="margin" value="0,0,0,0" /> <setter property="template"> <setter.value> <controltemplate targettype="{x:type datagridrowheader}"> <grid> <border borderbrush="{templatebinding borderbrush}" background="{templatebinding background}" borderthickness="{templatebinding borderthickness}" padding="{templatebinding padding}" margin="{templatebinding margin}" snapstodevicepixels="true"> <contentpresenter snapstodevicepixels="{templatebinding snapstodevicepixels}" verticalalignment="{templatebinding verticalcontentalignment}" horizontalalignment="{templatebinding horizontalcontentalignment}"/> </border> <thumb x:name="part_topheadergripper" verticalcontentalignment="top" verticalalignment="top" background="transparent" style="{staticresource defaultrowheadergripperstyle}" /> <thumb x:name="part_bottomheadergripper" verticalcontentalignment="bottom" verticalalignment="bottom" style="{staticresource defaultrowheadergripperstyle}" /> </grid> </controltemplate> </setter.value> </setter> </style> <style x:key="defaultdatagridcell" targettype="{x:type datagridcell}"> <setter property="background" value="transparent" /> <setter property="borderbrush" value="transparent" /> <setter property="horizontalcontentalignment" value="stretch" />
赞 (0)
打赏
微信扫一扫
相关文章:
-
-
微软XAML Studio - WPF, Sliverlight, Xamarin, UWP等技术开发者的福音
[TOC] 最近又在继续倒腾 的项目,继续使用 和`Xceed`来堆代码。每次调试xaml上的binding,都有种要疯的赶脚。 今天路过 浏览 相... [阅读全文] -
数组作为方法参数传递时,传递的是数组在内存中的地址。因此在方法内部改变数组值也是有效的,会改变实际参数的值。 ... [阅读全文]
-
pom.xml ... [阅读全文]
-
首先打开vs软件新建项目创建web中的mvc项目再右击解决方案创建类库项目分别创建DAL层和BLL层再把DAL层和BLL层的类重命名在mvc项目中的... [阅读全文]
-
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论