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
Post a Comment