WPF UserControl Наследование и стиль - PullRequest
1 голос
/ 11 июня 2011

У меня следующая проблема: я создаю пользовательский элемент управления, который наследует от уже существующего, т.е.

public class CustomButton : Button
{
    public Boolean AdditionalProperty { get; set; }
}

Это работает без проблем, но если я пытаюсь стилизовать элемент, он не применяет стиль

<style TargetType="local:CustomButton">
    <!-- Setters -->
</style>

Что я делаю не так? Я добавляю CustomButton программно, это проблема? Я также попробовал следующее:

CustomButton customButton = new CustomButton();
customButton.Style = FindResource("<key>");
someGrid.Children.Add(customButton);

1 Ответ

1 голос
/ 11 июня 2011

Попробуйте TargetType="{x:Type local:CustomButton}"

Edit:

WPF поддерживает методы, которые позволяют указав стоимость некоторых свойства типа Type без требуется расширение разметки x: Type использование. Вместо этого вы можете указать значение в виде строки, которая называет тип. Примеры этого ControlTemplate.TargetType и Style.TargetType. Поддержка этого поведение не обеспечивается через либо преобразователи типа, либо разметка расширения. Вместо этого это отложенное поведение реализовано через FrameworkElementFactory.

Источник: MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...