Каков рекомендуемый элемент для примитивного контейнера с минимальным стилем в WPF? - PullRequest
0 голосов
/ 02 февраля 2019

Мне часто приходится вкладывать элементы пользовательского интерфейса (например, кнопки или текстовые блоки) в рамки, которые можно стилизовать с помощью цвета фона, полей и отступов.

Существует несколько способов сделать это вWPF.Даже Grid работает как простой контейнер.Но я хочу знать, каков рекомендуемый элемент перехода для этой цели?Как уже говорилось, мои самые распространенные потребности - это элемент, который поддерживает цвет фона, поля и отступы.

1 Ответ

0 голосов
/ 03 февраля 2019

Определенно граница.В общем случае ответ - «самый простой элемент управления, с которым вы можете справиться», который будет зависеть от ваших конкретных потребностей.(Есть довольно хорошая диаграмма, показывающая большинство из них здесь ).Наиболее простым элементом управления для чего-либо, имеющего контент, является ContentControl, но он не реализует фон в своем шаблоне.Следующий элемент управления в иерархии - это UserControl, который обычно используется для создания подклассов, но если вы посмотрите на его ControlTemplate, то это просто граница с ContentPresenter:

    <ControlTemplate TargetType="{x:Type UserControl}">
        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
            <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
        </Border>
    </ControlTemplate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...