¿Ha intentado levantar el evento cambiado propiedad para su propiedad "Algo" cuando se establece el modo de su control? Puede obtener el "algo" propiedad de controlar como esto -
Binding binding = BindingOperations.GetBindingExpression(this, this.Value).ParentBindingBase;
String propertyToRefresh = binding.Path.Path;
(this.DataContext as ViewModel).OnPropertyChange(propertyToRefresh);
Estoy asumiendo que el DataContext de su control es ejemplo de su modelo de vista que implementa INotifyPropertyChangedInterface.
En caso de que el método OnPropertyChange de su clase Viemodel no sea público o no tenga ninguna referencia a su clase ViewModel bajo su control. Simplemente puede llamar a UpdateTarget() en su BindingExpression así (como lo sugiere Thomas Levesque) -
BindingExpression binding = BindingOperations.GetBindingExpression(this, this.Value);
binding.UpdateTarget();
Depende de lo que quiere decir con "El mouse siempre está configurado antes". Supongo que 'Mode' también tiene un valor predeterminado. ¿Desea que la unión ocurra cuando 'Mode' no es nulo? –
Parece que Value Coercion puede ser una solución adecuada para usted. – vcsjones
@Meleak Estoy hablando de la propiedad Mode de mi control, no del mouse. El problema es que la vinculación está sucediendo antes de que se establezca la propiedad Mode. Y eso afecta cómo se comporta el control. Quiero que el Modo se establezca primero. El modo tiene un valor predeterminado, por lo que nunca es nulo, pero quiero elegir el modo del control antes de que ocurra el enlace. – lahsrah