Есть ли способ выполнить прикрепленное поведение последним после инициализации свойств списка в следующем примере
<LinearGradientBrush local:FreezeBehavior.IsFrozen="True">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="White" Offset="1"/>
</LinearGradientBrush>
Это можно сделать так
<GradientStopCollection x:Key="SomeKey">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="White" Offset="1"/>
</GradientStopCollection>
<LinearGradientBrush GradientStops="{StaticResource SomeKey}" local:FreezeBehavior.IsFrozen="True"/>
Но для этого потребуется создать десятки ненужных записей ResourceDictionary
.
PS: связанный вопрос (если кто-то видит это как дубликат, тогда голосуйте за ним, а не за ним, здесь я уже знаю проблему, и это более четко описано).
Я предполагаю, что поток выполнения основан на XAML Parser и в свойствах анализа, когда они появляются. Таким образом, вы можете попробовать изменить порядок объявлений свойств. Что-то вроде этого:
<LinearGradientBrush>
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="White" Offset="1"/>
<local:FreezeBehavior.IsFrozen>True</local:FreezeBehavior.IsFrozen>
</LinearGradientBrush>
FreezeBehavior.IsFrozen
вам придется использовать <sys:Bool>True</sys:Bool>
как значение FreezeBehavior.IsFrozen