我想使用ExtendedWPFToolkits的ColorPicker,但使用自定义的ButtonStyle。 我可以创建一个覆盖项目的Template属性的新外观,但缺少原始模板click事件。
我想保留它,但是如何?
<Controls:ColorPicker >
<Controls:ColorPicker.ButtonStyle>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Button Content="ColorPicker"></Button>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Controls:ColorPicker.ButtonStyle>
</Controls:ColorPicker>
答案 0 :(得分:2)
你拥有的是无效的。您将Button
放在ToggleButton
的ControlTemplate中,因此基本上是按钮中的按钮。
您需要执行以下操作:
<Controls:ColorPicker >
<Controls:ColorPicker.ButtonStyle>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border Background="Transparent">
<TextBlock Text="ColorPicker" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Controls:ColorPicker.ButtonStyle>
</Controls:ColorPicker>
我添加了一个透明的Border
,因此该按钮将能够接收文本未覆盖的区域的鼠标事件。