В настоящее время я создаю TextBox с текстом с водяными знаками и немного проблем с дизайном. Чтобы создать водяной знак, я включил здесь код, приведенный здесь Watermark/hint text/placeholder TextBox in WPF Я не использовал принятый ответ, но тот, который имеет самые высокие голоса. (Один с помощью Adorner)Watermark fontsize/family
Моего TextBlock выглядит следующим образом:
<AdornerDecorator>
<TextBox HorizontalAlignment="Right"
VerticalAlignment="Center"
Width="190"
Padding="16,2,20,2">
<utils:WatermarkService.Watermark>
<TextBlock Text="Search" />
</utils:WatermarkService.Watermark>
</TextBox>
</AdornerDecorator>
Теперь я сталкиваюсь с проблемой, что с этой прикрепленной собственностью, TextBlock в нем выходит из сферы от моего стиля я объявленный в приложении .xaml. Моделирование выглядит следующим образом:
<Style TargetType="{x:Type Window}">
<Setter Property="FontFamily"
Value="Tahoma" />
<Setter Property="FontSize"
Value="8pt"></Setter>
<Setter Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
</Style>
Как можно стилизовать TextBlock в пределах вложенного свойства в app.xaml, предпочтительную с BasedOn этот стиль, поэтому я не придется объявить его сервала раз.
Спасибо за ответ. Не существует ли более простой способ указать fontsize/fontfamily, которые использовали по умолчанию для всего текста. Я как бы надеялся, что это с моим стилем, но это не похоже на это. И мне не нравится идея указать тот же стиль два раза не могу я использовал atleast стиль на основе в моем случае? –
Для функции BasedOn targetType должен быть одинаковым для обоих стилей. Но в одном случае у вас есть Window, а другое - TextBlock. –
Так что это невозможно без дублирования стилей? –