代码之家  ›  专栏  ›  技术社区  ›  Shane

重用自定义WPF控件中的现有模板

  •  1
  • Shane  · 技术社区  · 15 年前

    我正在创建从组合框继承的自定义WPF控件类。因为我只是在定义行为,所以出于我的目的,现有的组合框模板是可以使用的,我不想创建一整套模板来支持不同的主题。是否有方法指定我的控件使用现有的组合框模板?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Quartermeister    15 年前

    为控件指定默认样式并设置 BasedOn 到组合框的默认样式:

    <Style TargetType="{x:Type local:CustomControl1}"
           BasedOn="{StaticResource {x:Type ComboBox}}">
    </Style>
    

    这将从组合框默认样式继承模板setter。

        2
  •  1
  •   Thomas Levesque    15 年前

    你什么都不用做。如果控件继承自 ComboBox 而你不重写 DefaultStyleKey 属性,它将使用与 组合框 (因此模板相同)