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