Keep ColorEditBox opened after a reload

Grids for WPF Forum

Posted 6 years ago by Antoine Picard
Version: 18.1.0671
Avatar

Hi !

I don't know if I should ask this in Grids or in Editors as I use both but here I am.

My project can be simplified like this : a project A with a visual interface where my objects are displayed and a project B connected to project A and using the Actipro Grid to display the properties of a selected object in project A.

When I change a color using the color picker in my project B, it triggers the PropertyValueChanged event so I send this new value to project A so it can display the changes and then project A send back those values to project B to update my grid.

Is there a way to keep the color picker opened when I update my grid ? I just tried to keep focus on this property in the dataFactory with propertyModel.IsSelected = true but it doesn't work, the selected property is still the first one.

Am I clear enough ?

Thanks for your help,

AP

Comments (4)

Posted 6 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Antoine,

Is the PropertyGrid refreshing (i.e. PropertyGrid.DataObject is changed) when you change the color?  A full refresh from the data object being changed would clear out all data models and property editors and would definitely close a popup.

On the other hand, if you are simply updating a color property's value and no data object is changing, then it might not close the popup since I think the property model would just catch the value change and update its property editor binding to the value.


Actipro Software Support

Posted 6 years ago by Antoine Picard
Avatar

Hi,

Thanks for your answer, it could solve my Color problem but I have another issue with this.

I have an object with a 2D position, linked to a parent, so my object also has an offset position (in relation to his parent's position) property. This property is only refreshed after I send it to project A (previous example) and receive it again in project B (where my PropertyGrid is). Is there a way to update only this offset property, or do I have to go through each property to find wich one has changed (and if yes, how).

Posted 6 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Antoine,

Do you mean that your PropertyGrid.DataObject is set to a class instance (let's call it MyObject) and the MyObject class has a Position property and an Offset property on it?  The same would apply per above where if you are changing the MyObject instance value set to PropertyGrid.DataObject, it will do a full refresh.  But if you simply modify the properties like Position on the same MyObject instance, it should just reflect their updates without having to rebuild the UI.

Or if I'm misunderstanding, please provide some more detail and perhaps send our support address a new simple sample project that shows it happening.  If you send anything, remove the bin/obj folders from what you send and rename the .zip file extension so it doesn't get spam blocked.  Thanks!


Actipro Software Support

Answer - Posted 6 years ago by Antoine Picard
Avatar

Hi !

I found a solution by using a DebounceDispatcher to send my changes and reload my PropertyGrid only after a short waiting time.

Thanks for your help !

AP

The latest build of this product (v24.1.3) was released 2 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.