Можно ли использовать DynamicResource в раскадровке, содержащейся в Style или ControlTemplate - PullRequest
13 голосов
/ 30 сентября 2008

Я пытаюсь использовать DynamicResource в раскадровке, содержащейся в ControlTemplate.

Но, когда я пытаюсь это сделать, я получаю сообщение об ошибке «Не удается заморозить это дерево шкалы времени раскадровки для использования в потоках».

Что здесь происходит?

1 Ответ

28 голосов
/ 30 сентября 2008

Нет, вы не можете использовать DynamicResource в раскадровке, которая содержится в Style или ControlTemplate. На самом деле, вы также не можете использовать выражение привязки данных.

Дело в том, что все в Style или ControlTemplate должно быть безопасным для использования в потоках, и система синхронизации фактически пытается заморозить Style или ControlTemplate, чтобы сделать их поточно-ориентированными. Однако, если присутствует DynamicResource или выражение привязки данных, он не может их заморозить.

Для получения дополнительной информации см .: MSDN Link . Изучите разделы «Анимация в стиле» и «Анимация в ControlTemplate» (эта страница документации довольно длинная).

И для обхода (по крайней мере, для моего сценария) см .: Сообщение на форуме WPF .

Надеюсь, это кому-нибудь поможет. Я потерял на нем более чем достаточно волос.

Cory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...