WPF 4.0. Что нового? Часть 3
Продолжу серию постов о нововведениях в WPF 4. Bindable Run Из нового в WPF 4 можно сказать еще о том, что у элемента Run теперь свойство Text можно биндить, переделали из обычного CLR свойства. Мелочь, но с проблемой один раз я встретился, которая описана тут New WPF Features: Bindable Run. Custom Dictionary В WPF, как вы знаете, есть поддержка проверки правописания SpellCheck. А может и не знаете, потому что поддерживаются только 4 языка: английский, немецкий, испанский и французский, и расширить это никак нельзя. В WPF 4.0 появилась возможность заводить Custom Dictionary, чтобы добавить всяческие слова, вроде lol, в лексикон проверки. Но опять же, сделать проверку русского языка при помощи этого нельзя, даже если вы забьете всевозможные русские слова в такой словарь, то изначально вам WPF скажет, что данный язык не поддерживается. Не понимаю я такой подход, почему бы не сделать механизм открытым, для самостоятельного расширения возможностей SpellCheck, умелые руки давно бы прикрутили словари от OpenOffice, я был бы первым. Более подробная информация об этом тут: Custom Dictionaries. Текст CaretBrush и SelectionBrush Теперь у каретки и для выделения можно задать кисти: <TextBox FontSize="24" CaretBrush="Green" SelectionOpacity="0.1" SelectionBrush="Red">FakePre-71fff85d237240f4bf61fcaf54fc48c9-67603bdd633649b4bb3ea60837e9c766FakePre-4f7d90a286e04749b41ad6d0517d418d-e75db482a2ca40bd88932c0366ff07ca И получить что-то вроде ClearTypeHint Очередная заклепка в WPF – свойство RenderOptions.ClearTypeHint. Идея в следующем, если в вашем визуальном дереве на каком то шаге используется, например, Opacity, то все визуальное дерево ниже уровнем будет прорисовывать текст без ClearType. Из-за этого текст будет выглядеть значительно другим: Другим примером может быть, если вы у Grid'а будете использовать свойство Clip. Свойством RenderOptions.ClearTypeHint можно задать Enabled – для того, чтобы текст все таки прорисовался с ClearType (если он рисуется без Opacity). Хороший пример для ознакомления приводится тут: New WPF Features: ClearTypeHint. TextFormattingMode и TextRenderingMode Теперь мы можем действительно управлять тем, как будет отрисовываться текст. Для этого нам предоставили два свойства TextOptions.TextFormattingMode и TextOptions.TextRenderingMode. Первому можно установить Ideal – текст будет выглядеть как обычно в WPF, или Display – будет выглядеть как текст GDI. Display советуют применять только с мелким текстом, в остальных случаях оставить как есть. Разница в чтении мелкого текста заметна сразу: Свойству TextOptions.TextRenderingMode можно установить Auto, Aliased, Grayscale и ClearType. Auto – выставляет ClearType, если он не отключен. Более подробную информацию о тексте можно посмотреть тут: WPF 4.0 Text Stack Improvements. Автор: Денис Гладких |