I use this workaround for about 1 year and it goes well.
Because nobody has resolved this issue properly, I suggest to use this workaround property to bind dynamic resource.
The main idea is to just add a new property for the dynamic resource name. When this action executes it tries to check if dynamic resource name is available and binds it. If there's no Dynamic resource Name, it continues execution as usual.
I use this workaround for about 1 year and it goes well. Because nobody has resolved this issue properly, I suggest to use this workaround property to bind dynamic resource.
The main idea is to just add a new property for the dynamic resource name. When this action executes it tries to check if dynamic resource name is available and binds it. If there's no Dynamic resource Name, it continues execution as usual.
Examples of usage:
<ia:ChangePropertyAction DynamicResourceName="BlockHeaderBackgroundBrushWarning" PropertyName="Background"/>
or if you want to bind the name of the dynamic resource you can write like this
<ia:ChangePropertyAction DynamicResourceName="{Binding LineBrushResource}" PropertyName="Stroke" TargetObject="PolyLine"/>