The fields given from the XAttributeChangedEventArgs in CE are lacking the XAttribute property from V8i. As far as I can see, I don't see a way in C# to know which Element or which XAttribute caused that Event. Is there a new way?
Hi Jean-Pierre,
Jean-Pierre Hundhausen said:The fields given from the XAttributeChangedEventArgs in CE are lacking the XAttribute property from V8i.
As far as I remember, this event handler was not implemented in earlier CE versions at all. Now it seems it is available, but in incomplete form and from some reasons it differs from native version. For me it more like a bug, because passed parameters (e.g. FunctionName, GroupID, ProcessNumber) makes no sense in a context of this event and does not exists in native version.
Jean-Pierre Hundhausen said:As far as I can see, I don't see a way in C# to know which Element or which XAttribute caused that Event.
Unfortunately it look like you are right :-(
Jean-Pierre Hundhausen said:Is there a new way?
In the past, when this event was not published in managed API, I implemented my own wrapper in C++/CLI that registers ITxnMonitor in native code and published XAttributeChanged event to managed code.
But I am aware it's not very simple solution (as the whole C++/CLI and it's compilation with bmake).
With regards,
Jan
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point