c# - Wpf Prism give style to each items of a ItemControl (Views in a Region) -


i have wpf prism project , has region base on itemcontrol:

<itemscontrol prism:regionmanager.regionname="workspaceregion" > 

in itemcontrol see of views verticaly want give style each item of itemcontrol (each view).

all of items (views) must have same style (for example: background color, padding, margin, border and...)

i want (for example):

enter image description here

i used simple style , code this:

<itemscontrol prism:regionmanager.regionname="workspaceregion"  background="#765e4d" margin="10">     <itemscontrol.itemspanel>         <itemspaneltemplate>             <stackpanel/>         </itemspaneltemplate>     </itemscontrol.itemspanel>      <itemscontrol.itemcontainerstyle>         <style>             <setter property="control.template">                 <setter.value>                     <controltemplate>                         <border borderbrush="red" padding="10" borderthickness="1" cornerradius="5">                             <contentpresenter content="{binding}"/>                         </border>                     </controltemplate>                 </setter.value>             </setter>         </style>     </itemscontrol.itemcontainerstyle>  </itemscontrol> 

its error:

a style intended type 'itemscontrol' cannot applied type 'view1'

also tested codes:

<itemscontrol prism:regionmanager.regionname="workspaceregion"  background="#765e4d" margin="10">     <itemscontrol.itemspanel>         <itemspaneltemplate>             <stackpanel/>         </itemspaneltemplate>     </itemscontrol.itemspanel>      <itemscontrol.itemtemplate>         <datatemplate>             <grid >                 <textblock text="test"/>                 <border borderbrush="red" padding="10" margin="10" borderthickness="1" cornerradius="5">                     <contentpresenter content="{binding}"/>                 </border>             </grid>         </datatemplate>     </itemscontrol.itemtemplate> </itemscontrol> 

but result when write:

<itemscontrol prism:regionmanager.regionname="workspaceregion" > 

enter image description here

  • why? mistake?

  • how can this?


edit1:

i used <itemspresenter/> instead of <contentpresenter content="{binding}"/>

result: without change


edit2:

i write style itemcontainerstyle property of itemscontrol , works if remove controltemplate part it.

now question kind of presenter or xaml tag should use inside following controltemplate views (usercontrols) shown.

   <style targettype="{x:type usercontrol}" x:key="myitemcontainerstyle">         <setter property="background" value="brown"/>         <setter property="borderbrush" value="blue"/>         <setter property="borderthickness" value="2"/>         <setter property="margin" value="10"/>         <setter property="template" >             <setter.value>                 <controltemplate>                      ??????????????????????????                     <!-- following contentpresenter not working , items dose not show -->                     <contentpresenter/>                  </controltemplate>             </setter.value>         </setter>     </style> 

set contenttemplate property of style, not control.template or template

an itemscontrol gets rendered :

<itemscontrol>     <itemspanel>         <contentpresenter>             <itemtemplate>         </contentpresenter>          <contentpresenter>             <itemtemplate>         </contentpresenter>          <contentpresenter>             <itemtemplate>         </contentpresenter>     </itemspanel> </itemscontrol> 

the itemcontainerstyle applies contentpresenter object wraps each item in xaml tree, , don't believe contentpresenter has either control.template or template property.

when changing how contentpresenter displayed should overwrite contenttemplate property instead.


Comments

Popular posts from this blog

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -