Вы можете попробовать это:
au BufWinEnter * if &textwidth > 8
\ | let w:m1=matchadd('MatchParen', printf('\%%<%dv.\%%>%dv', &textwidth+1, &textwidth-8), -1)
\ | let w:m2=matchadd('ErrorMsg', printf('\%%>%dv.\+', &textwidth), -1)
\ | endif
Это установит две подсветки в каждом буфере, одну для символов в 8 столбцах до того, что установлено в &textwidth
, и одну для символов за пределами этот столбец. Таким образом, у вас есть некоторая степень ожидания. Конечно, вы можете настроить его, чтобы использовать другую ширину, если вы хотите более или менее предвосхищать (которое вы платите в виде потери подсветки синтаксиса в этих столбцах).
Хорошо. Я сам нашел решение.
<Style TargetType="{x:Type toolkit:DatePickerTextBox}">
<Setter Property="Text" Value="Bitte wählen" />
</Style>
В любом случае, вы должны знать тот факт , что существует DependencyProperty, называемый Watermark, который должен быть установлен вместо текста.
Проблема в том, что в последнем выпуске MS (около июня 2009 г.) они сделали это свойство только для чтения по неизвестной причине. Это означает, что это единственный взлом, который я придумал, хотя возникает исключение First-time, потому что DatePicker пытается проанализировать строку (он предполагает, что текст является датой), но обычно вы этого не заметите.
Другая возможность - напрямую отредактировать исходный код из MS и переопределить метод SetWaterMark ()
+ добавить свое собственное Свойство зависимости (MyWaterMark или что-то в этом роде). Но тогда вы не сможете использовать предоставленную dll
.