2010-10-15 2 views
0

Я пытаюсь стилизовать элемент в WPF, который отображает желтую рамку вокруг всего, что находится в ней, и показывает подсказку, когда курсор над ней. Проблема в том, что у меня нет большой идеи, как это сделать, и все, что я пробовал, похоже, не работает.Добавление ContentPresenter в стиль элемента управления

Вот то, что я до сих пор:

<Style x:Key="HistoryElementStyle" 
     TargetType="{x:Type Control}"> 
    <Setter Property="BorderBrush" 
      Value="Yellow"/> 
    <Setter Property="BorderThickness" 
      Value="1.5" /> 
    <Setter Property="CornerRadius" 
      Value="2" /> 
    <Setter Property="ToolTip"> 
     <Setter.Value> 
      <ToolTip Template="{StaticResource HistoryTooltipTemplate}" /> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ContentPresenter x:Name="PART_Content" 
           Width="Auto" 
           HorizontalAlignment="Stretch" 
           ContentSource="Content" 
           IsEnabled="{TemplateBinding IsEnabled}" /> 
     </Setter.Value> 
    </Setter> 
</Style> 

Visual Studio не жалуется, что ContentPresenter тип является неправильным.

Приветствия

AC

ответ

2

Вы должны обернуть ContentPresenter вокруг <ControlTemplate TargetType="Control" /> в соответствии с типом свойства Control.Template.

+0

Это сделало трюк. –

0

Я бы попробуйте добавить DataTempalte тег вокруг ContentPresenter (извините, я не могу проверить, где я пишу это).

+0

Теперь DataTemplate является недопустимым типом. :( –

+0

К сожалению, у @Mael было решение. – Timores

Смежные вопросы