Разве Expression Blend 4 больше не вкладывает автоматически новый ControlTemplate в стиль? - PullRequest
0 голосов
/ 07 августа 2010

У меня есть одноразовый Style и соответствующий ControlTemplate для пользовательского HyperLinkButton в Blend 4 (для Silverlight).

Документация для Blend гласит:

Шаблоны элементов управления заключены в стили, поэтому стиль, применяемый к элементу управления, включает как внешний вид (части), так и поведение элемента управления. (отсюда) и (также здесь)

Поэтому я нажимаю HyperlinkButton на монтажной области и выбираю Object > Edit Template > Edit a copy и получаю:

<HyperlinkButton Template="{StaticResource HyperlinkButtonControlTemplate}"/>

Ну, это не в стиле, вот оно!

ТАК Я начинаю заново и пытаюсь создать стиль с Object > Edit Style > Edit a copy, и это дает мне новый стиль, но без шаблона(как и ожидалось):

<Style x:Key="HyperlinkButtonStyle2" TargetType="HyperlinkButton">
    <!--Setter Property="TargetName" Value="_new"/-->
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="Foreground" Value="Blue"/>
        <Setter Property="Padding" Value="0"/>          
    </Style>

Теперь у меня есть стиль без шаблона элемента управления.Затем я выбираю этот стиль в Styles.xaml и выполняю Edit Template > Edit a copy, и он добавляет связанный ControlTemplate к стилю:

<Style x:Key="HyperlinkButtonStyle2" TargetType="HyperlinkButton">
    <!--Setter Property="TargetName" Value="_new"/-->
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="Foreground" Value="Blue"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="Template" Value="{StaticResource HyperlinkButtonControlTemplate2}"/>

    </Style>

НО В документации по Blend 4 говорится, что он будет создан в стиле, ноэто не такЯ абсолютно считаю, что это более гибко, но это не то, что я хочу, потому что я не хочу использовать его повторно, и мне интересно, если это настраивается или я что-то упускаю.

ТАК:Могу ли я заставить Blend 4 создать Style и вложенную ControlTemplate одновременно или мне нужно вручную переместить ControlTemplate в Style?

1 Ответ

1 голос
/ 14 августа 2010

Все зависит от того, в каком режиме вы находитесь.

Если вы следуете определенному порядку создания стиля и шаблона, шаблон действительно внедряется в стиль. Например, создайте кнопку и выполните команду «Объект»> «Редактировать стиль»> «Создать пустой» (или «Изменить текущий», если стиль кнопки уже прикреплен). Вы находитесь в режиме редактирования стиля. Теперь в режиме редактирования стиля выберите «Объект»> «Редактировать шаблон» и создайте пустой или скопируйте шаблон. Это будет связано со стилем. Это двухэтапный процесс, которому вы следуете.

Однако, если вы не в режиме редактирования стиля , выберите «Объект»> «Изменить шаблон»> «Копировать», чтобы сразу создать стиль со связанным шаблоном.

...