wpf在自定义控件中保留基本样式

Arc*_*hie 2 wpf styles custom-controls

我创建了一个自定义按钮,因为我想要一个图像和文本在其中,如下所示:

<Style TargetType="{x:Type Local:ImageButton}">
     <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="{x:Type Local:ImageButton}">
                  <StackPanel Height="Auto" Orientation="Horizontal">
                       <Image Margin="0,0,3,0" Source="{TemplateBinding ImageSource}"/>
                       <TextBlock Text="{TemplateBinding Content}" /> 
                   </StackPanel>
             </ControlTemplate>
          </Setter.Value>
     </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

这里,ImageButton是一个继承自Button类并将ImageSource作为依赖项属性的类.

但我想保持原始按钮的外观和感觉.我该怎么做?谢谢.

geh*_*hho 5

您可以使用该Style.BasedOn属性:

<Style TargetType="{x:Type Local:ImageButton}" BasedOn="{StaticResource {x:Type Button}}">
    <!-- ... -->
</Style>
Run Code Online (Sandbox Code Playgroud)