data binding - WPF ListBox Style update doens't work -
i have created wpf listbox , set itemcontainerstyle bind property , converts valid color. works when listbox loaded, no problem bindings or converter.
<listbox grid.column="0" grid.row="1" itemssource="{binding diensten}" selecteditem="{binding selecteddienst, mode=twoway}" borderbrush="lightgray" borderthickness="2" background="transparent"> <listbox.itemcontainerstyle> <style targettype="listboxitem"> <setter property="background" value="{binding path=isactive, converter={staticresource booleantolistboxbgcolorconverter}}" /> </style> </listbox.itemcontainerstyle> <listbox.itemtemplate> <datatemplate> <telerik:label content="{binding path=dienst.description}"/> </datatemplate> </listbox.itemtemplate> </listbox> but when selecteditem changed trigger propertychangedmethod in refreshview method update listbox. unfortunatly style not applied new value of binding.
so seems style created listbox didn't updated
public property diensten() list(of toegangdienst) homecoming _diensten end set(value list(of toegangdienst)) _diensten = value firepropertychanged("diensten") end set end property public property selecteddienst() toegangdienst homecoming _selecteddienst end set(value toegangdienst) if diensten.contains(value) updatediensttodetails(value) _selecteddienst = value firepropertychanged("selecteddienst") refreshview() end if end set end property private sub refreshview() firepropertychanged("diensten") firepropertychanged("isbusy") firepropertychanged("isvisible") _ribbonviewmodel.evaluatecommands() end sub any suggestions how style update also?
now unusual thing manage solve problem no firing property changed method line of code:
diensten = diensten.asenumerable().tolist() i have working solution i'd prefer cleaner way accomplish this.
my list(of toegangdienst) didn't need observable because not adding or removing it, apparently caused not update entire list when firing propertychanged method.
i changed
list(of toegangdienst) to
observablecollection(of toegangdienst) and worked when called
_selectedtoegangdienst.firepropertychanged("isactive") wpf data-binding listbox styles
No comments:
Post a Comment