Порядок выполнения свойств элемента в xaml

1

Есть ли способ выполнить прикрепленное поведение последним после инициализации свойств списка в следующем примере

<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
wpf
attached-properties

1 ответ

2
Лучший ответ

Я предполагаю, что поток выполнения основан на 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню