Стиль TextBlock по умолчанию, переопределяющий цвет текста кнопкиC#

Место общения программистов C#
Anonymous
Стиль TextBlock по умолчанию, переопределяющий цвет текста кнопки

Сообщение Anonymous »

Моя проблема возникает с WPF в .NET 3.5 SP1 и может быть описана следующим образом:

У меня есть стиль по умолчанию, который касается всех элементов TextBlock в моем пользовательском интерфейсе. Вот так это выглядит:
Это отлично работает для всех TextBlock. В дополнение к этому у меня есть стиль Button, включающий ControlTemplate, который выглядит следующим образом (сокращенно):
Обратите внимание на строку TextBlock.Foreground="{TemplateBinding Foreground}" в ContentPresenter. Это должно сделать текст кнопки зеленым, и на самом деле это происходит в представлении дизайнера Visual Studio. Но когда я компилирую и запускаю программу, текст кнопки становится красным, цвет текста задается стилем TextBlock по умолчанию. Я проверил это с помощью Snoop.

Как я могу предотвратить

Код: Выделить всё

TextBlock
от переопределения значения TextBlock.Foreground? Свойство OverridesDefaultStyle ContentPresenter в этом случае не помогает.

Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/450 ... text-color

Вернуться в «C#»