Моя проблема возникает с WPF в .NET 3.5 SP1 и может быть описана следующим образом:
У меня есть стиль по умолчанию, который касается всех элементов TextBlock в моем пользовательском интерфейсе. Вот так это выглядит:
Это отлично работает для всех TextBlock. В дополнение к этому у меня есть стиль Button, включающий ControlTemplate, который выглядит следующим образом (сокращенно):
Обратите внимание на строку TextBlock.Foreground="{TemplateBinding Foreground}" в ContentPresenter. Это должно сделать текст кнопки зеленым, и на самом деле это происходит в представлении дизайнера Visual Studio. Но когда я компилирую и запускаю программу, текст кнопки становится красным, цвет текста задается стилем TextBlock по умолчанию. Я проверил это с помощью Snoop.
Как я могу предотвратить
от переопределения значения TextBlock.Foreground? Свойство OverridesDefaultStyle ContentPresenter в этом случае не помогает.
Есть идеи?
Подробнее здесь:
https://stackoverflow.com/questions/450 ... text-color