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

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -

gradle error "Cannot convert the provided notation to a File or URI" -