WPF: Почему это вызвало бы исключение переполнения стека? - PullRequest
3 голосов
/ 05 февраля 2010

Когда я добавляю этот стиль, он ломает мое приложение с StackOverflowException.

<Style TargetType="GroupBox" BasedOn="{StaticResource {x:Type GroupBox}}" >
<!-- <Setter Property="Background" Value="{DynamicResource WindowBackgroundBrush}" /> -->
</Style>

Если это имеет значение, я использую тему ShinyBlue.

Есть идеи, что вызвало бы это?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2010

Это своего рода «известная проблема», по крайней мере, я помню, что у меня она тоже была, и она воспроизводится со стилями, основанными на стилях по умолчанию для элементов управления, которые также имеют некоторые стили по умолчанию в теме. AFAIR, я использовал свою собственную тему, поэтому я просто пошел и дал имена этим стилям и использовал имена вместо {x:Type GroupBox}, и это помогло мне, но если вы не можете сделать это, Интернет рекомендует чтобы переместить ваши производные стили в более низкую область XAML.

Что касается основной причины исключения, AFAIR, существует ошибка в разрешении стиля по умолчанию, при котором стиль темы используется как стиль по умолчанию для вашего пользовательского стиля, а затем принимает ваш собственный стиль по умолчанию для стиля темы и т. Д. и так далее, ТАК!

1 голос
/ 05 февраля 2010

Попробуйте изменить имя вашего статического ресурса.

...