То, что у вас есть, недействительно.Вы помещаете Button
в ControlTemplate ToggleButton
, поэтому в основном это кнопка в кнопке.
Вам нужно сделать что-то вроде:
<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
, поэтому кнопка сможет получать события мыши для областей, не охватываемых текстом.