c# - ComboBox IsEnabled property not updating -
i trying disable items in combobox when multiple properties (or'd together) result in false. first time click combobox, properties' getters called , correct state shown. every time click combobox after first, properties not checked again, after have been changed (meaning items enabled/disable state should different).
here code combobox item isenabled property:
<!--itemcontainer style disabling combobox item--> <combobox.itemcontainerstyle> <style targettype="comboboxitem"> <setter property="isenabled" > <setter.value> <multibinding converter="{staticresource orconverterkkey}"> <!--<binding source="{staticresource vm}" path="notuseanglerange" updatesourcetrigger="propertychanged"/>--> <binding path="isaxisenabled" updatesourcetrigger="propertychanged"/> <binding source="{staticresource vm}" path="isfull180anglerange" /> </multibinding> </setter.value> </setter> </style> </combobox.itemcontainerstyle>
any ideas missing?
update:
my view model , combo box items implement viewmodelbase
implements inotifypropertychanged
.
public class viewmodelreferenceaxistype : viewmodelbase { public class referenceaxistypeitem : viewmodelbase { ... } } public abstract class viewmodelbase : inotifypropertychanged, idisposable { #region inotifypropertychanged members /// <summary> /// raised when property on object has new value. /// </summary> public event propertychangedeventhandler propertychanged; /// <summary> /// raises object's propertychanged event. /// </summary> /// <param name="propertyname">the property has new value.</param> protected virtual void onpropertychanged([callermembername] string propertyname = "") { this.verifypropertyname(propertyname); if (this.propertychanged != null) { var e = new propertychangedeventargs(propertyname); this.propertychanged(this, e); } } #endregion // inotifypropertychanged members
Comments
Post a Comment