您Button
将自动拉伸以适应其内容的大小,因此摆脱它的Height
和Width
属性。如果要保持 Button 边缘和 ContentControl 之间的空间,请使用 ContentControl 的Margin
属性。
然后,DataTrigger
在您的 ContentControl 中使用 a 在鼠标悬停时Style
更改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>