xaml中元素属性的执行顺序
本文关键字:执行 顺序 属性 元素 xaml | 更新日期: 2023-09-27 18:14:09
是否有方法在列表属性初始化后最后执行附加行为
<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
条目。
注::相关问题(如果有人认为这是重复的,那么投票关闭它而不是这个,这里我已经知道问题,它更清楚地描述)。
我猜执行流是基于XAML解析器的,并在解析属性中出现。所以你可以尝试重新排序属性的声明。像这样:
<LinearGradientBrush>
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="White" Offset="1"/>
<local:FreezeBehavior.IsFrozen>True</local:FreezeBehavior.IsFrozen>
</LinearGradientBrush>
可能您必须使用<sys:Bool>True</sys:Bool>
作为FreezeBehavior.IsFrozen
的值