Как сделать текст WPF на фоне стекла Aero читаемым?

У меня есть приложение WPF, которое рисует текст на фоне Aero Glass. Проблема в том, что на основе того, что отображается позади моего приложения, текст, нарисованный на стеклянном фоне, может стать трудночитаемым или совершенно невозможным для чтения.

Как вы можете видеть на На следующем снимке экрана текстовые блоки Сохранить , Отменить и Повторить становятся трудночитаемыми, если окно позади моего приложения темное.

alt text

Теперь приложения Microsoft, такие как Word, решают эту проблему с помощью некоторого размытия за текстом, как вы можете видеть на следующем снимке экрана:

alt text

Я слышал, что есть какой-то вызов Win32 API, который я могу сделать, чтобы получить это работать. Однако на данный момент это всего лишь слухи, у меня нет фактов, подтверждающих это.


Я ' Чтобы приблизиться к тому, что делает Word, мы пробовали несколько разных специфичных для WPF вещей:

  • Падение теней на текст
  • Прозрачные изображения текста с запеченным размытием (вместо TextBlock )

Нет из тех, которые дают полезные результаты, все они выглядят довольно убогими. Кто-нибудь знает какой-либо метод, WPF или Win32, который я мог бы использовать для рисования текста, как Microsoft делает на стекле ( т.е. , читаемый )?

10
задан Rob 7 November 2010 в 20:15
поделиться