AvaloniaUI / Avalonia.Xaml.Behaviors

Port of Windows UWP Xaml Behaviors for Avalonia Xaml.
MIT License
385 stars 46 forks source link

Workaround for #51: Bind DynamicResource to ChangePropertyAction #164

Open izaksuilov opened 2 months ago

izaksuilov commented 2 months ago

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"/>