2015-01-01 3 views
0

Я хочу использовать стиль кнопок по умолчанию и просто хочу добавить Grid и Stackpanel с помощью 2-3 привязок. Когда я добавляю ControlTemplate в мой стиль, все настройки Trigger, Border-, ... перезаписываются. Как я могу добавить свою Grid/Stackpanel/Bindings, используя остальные настройки по умолчанию?WPF ControlTemplate - стиль по умолчанию

<Style x:Key="listbutton"> 
     <Setter Property="Button.Height" Value="40"/> 
     <Setter Property="Button.Margin" Value="0,3"/> 
     <Setter Property="Button.Template"> 
      <Setter.Value> 
       <ControlTemplate> 

       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
</Style> 

+0

Вы должны рассмотреть возможность использования DataTemplate вместо ControlTemplate. См. Также [ControlTemplate vs. DataTemplate] (http://stackoverflow.com/a/1340138/2712726) –

ответ

0

Назначение ControlTemplate, чтобы определить, как должно быть отображено управление. Вы не можете иметь ControlTemplate на основе другого ControlTemplate (это не имеет смысла). Что вы можете сделать, так это взять по умолчанию ControlTemplate и изменить его по своему желанию.

ControlTemplate по умолчанию для кнопки можно найти here

+0

Означает ли это, что вам всегда нужно создавать полный шаблон, когда вы просто хотите добавить, например, Grid? – sibe94

+0

Если вы хотите изменить что-либо в шаблоне по умолчанию, вы должны переписать полный шаблон yes – nkoniishvt

+0

ok, я благодарю вас! – sibe94