【发布时间】:2010-03-07 19:30:28
【问题描述】:
我有这个非常简单的 ControlTemplate:
<ControlTemplate TargetType="{x:Type ContextMenu}">
<Border
Name="Border"
Background="{StaticResource BlueBackground}"
BorderBrush="LightBlue"
CornerRadius="10"
BorderThickness="1" >
<StackPanel IsItemsHost="True"/>
</Border>
</ControlTemplate>
我创造了一个漂亮的、令人瞠目结舌的圆角!但是,当我将鼠标指向上下文菜单时,鼠标悬停触发器会从某个地方触发,在我漂亮的圆形边框顶部绘制一个非常难看的近乎方形的边框!
哪里来的??
编辑: 最可能的原因是 ContextMenu 是一个包含 MenuItems 的 ItemsControl,即使我的 ContextMenu 包含一个 UserControl。因此,当 IsMouseOver==true 时,UserControl 被视为 MenuItem 并突出显示!禁用此行为的最简单方法是什么?
【问题讨论】:
-
你在 StackPanel 中有什么有趣的东西吗?给
Border元素添加一些内边距怎么样,看看它是否会有所不同。 -
我做到了,它做到了,因此进行了编辑。
标签: .net wpf controltemplate