Измените стиль и шаблон метки в WPF

#wpf #xaml #wpf-controls #label

#wpf #xaml #wpf-элементы управления #ярлык

Вопрос:

Я изменяю стиль и шаблон метки, как показано ниже:

     <Label Content="Test">
        <Label.Style>
            <Style TargetType="{x:Type Label}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Border BorderBrush="#DDD" BorderThickness="1" CornerRadius="2" Background="#EEE" Padding="4">
                                <!--<TextBlock Text="{TemplateBinding Content}" />-->
                                <ContentPresenter Content="{TemplateBinding Content}" />
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Label.Style>
    </Label>
  

во время разработки это работает, и в режиме конструктора все отображается хорошо (для каждого текстового блока или ContentPresenter); но когда я запускаю проект (или компилирую его), появляется эта ошибка:

Не удается найти статический элемент ‘ContentProperty’ для типа ‘Control’.

кто-нибудь может мне помочь, пожалуйста? большое спасибо):

Ответ №1:

Добавьте TargetType="{x:Type Label}" в ControlTemplate (иначе он не будет «знать», какие свойства доступны).