我正在覆盖这样的 GroupBox 标头的模板:
<Style x:Key="styleScoreComp" TargetType="{x:Type GroupBox}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding}" Foreground="Black" FontWeight="Bold" FontSize="20" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" >
<Composer:AddElementButton Type="Composite"/>
<Composer:AddElementButton Type="Calculation"/>
<Composer:AddElementButton Type="SimulationValue"/>
</StackPanel>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
添加元素按钮
<Border x:Name="borderButton" BorderThickness="1" BorderBrush="Silver" CornerRadius="4" Cursor="Hand" Margin="5" Background="White" Width="50" Height="45" MouseEnter="Border_MouseEnter" MouseLeave="Border_MouseLeave" MouseLeftButtonUp="borderButton_MouseLeftButtonUp">
<Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Image x:Name="imgType" Source="{Binding TypeImage, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
Cursor="Hand" Stretch="Uniform" Width="24" Height="24" Canvas.Top="3" Canvas.Left="13" />
<Image Canvas.Top="30" Canvas.Left="7" Source="add.png" Cursor="Hand" Stretch="Uniform" Width="36" Height="9" VerticalAlignment="Bottom" />
</Canvas>
</Border>
基本上,它可以工作,但是当您将鼠标悬停在按钮的中间时,它认为鼠标已经离开了 Border 控件。当鼠标悬停在 GroupBox 边框所在的位置时,似乎会发生这种情况。看这张图片:
这里发生了什么?