Ваш Button
автоматически растянется до размера его содержимого, поэтому избавьтесь от его свойств Height
и Width
.Если вы хотите сохранить пространство между краем кнопки и ContentControl, используйте свойство Margin
ContentControl.
Затем используйте DataTrigger
в Style
вашего ContentControl, чтобы изменить Height
/ Width
когда мышь находится над ним.Убедитесь, что вы установили Height
/ Width
в своем стиле, а не в теге <ContentControl>
, потому что если вы установите его в теге, он будет иметь приоритет над сработавшим значением, поэтому никогда не изменится.
<Style x:Key="MyContentControlStyle" TargetType="{x:Type ContentControl}">
<Setter Property="Height" Value="20" />
<Setter Property="Width" Value="20" />
<Setter Property="Margin" Value="5" />
<Setter Property="Content" Value="ContentControl" />
<Setter Property="Template" Value="{DynamicResource contentTemplate}" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=btnAddItem, Path=IsMouseOver}" Value="True">
<Setter Property="Height" Value="20" />
<Setter Property="Width" Value="20" />
</DataTrigger >
</Style.Triggers>
</Style>
<Button x:Name="btnAddItem" Height="25" Width="25" Margin="5,0,0,0"
Style="{DynamicResource btnStyle}" ToolTip="Add Item">
<ContentControl Style="{StaticResource MyContentControlStyle}" />
</Button>