xaml - wpf trigger not effective on style set in code -


in resources.xaml set style datagrid cell

<style targettype="datagridcell" >     <style.triggers>         <trigger  property="datagridcell.isselected"  value="true">             <setter property="background" value="cornflowerblue" />             <setter property="foreground" value="white" />         </trigger>     </style.triggers> </style> 

in specific datagrid column set foreground manually

 sub new()         fontweight = fontweights.bold         foreground = brushes.blue  end sub 

when cell selected, background dose change trigger, foreground dosen't

i believe due fact set forground in code

what can solve this?

note: cannot set foregroud column in xaml

writing foreground = brushes.blue set local value foreground dependency property. local value has higher priority setter value trigger. advise create named style datagridcell, derived based style, , apply derived style in code:

<style targettype="datagridcell" >     <style.triggers>         <trigger  property="datagridcell.isselected"  value="true">             <setter property="background" value="cornflowerblue" />             <setter property="foreground" value="white" />         </trigger>     </style.triggers> </style>  <style x:key="bluecell" targettype="datagridcell" basedon="{x:type datagridcell}">     <setter property="foreground" value="blue" />     <setter property="fontweight" value="bold" /> </style> 
sub    cellstyle = (style)datagrid.findresource("bluecell"); end sub 

i'm using c# syntax because of lack of vb.net knowledge. code calls findresource method of datagrid retrive "bluecell" style , after cast style type assigned cellstyle of column


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -