我发现这件事的信息很少。知道我是C#和WPF的新手:
我在XAML文件中定义了一个堆栈面板:
<StackPanel Orientation="Vertical" >
<TextBlock Text="Locale: " VerticalAlignment="Center"/>
<ComboBox x:Name="comboLocale" Width="60" VerticalAlignment="Center" SelectionChanged="comboLocale_SelectionChanged"/>
</StackPanel>
我想禁用在MouseOver堆栈面板时发生的突出显示,由于某种原因,它会在StackPanel内部创建蓝色。我还没有设置任何特殊风格。一些线程谈到将OverridesDefaultStyle设置为TRUE,但这似乎没有改变任何东西。此外,StackPanel没有可用的ControlTemplate,因此我找到的大多数解决方案都无法应用,因为它们引用了Button或TextBlock。
对此事的任何意见都将不胜感激!
-Regards
答案 0 :(得分:2)
StackPanels
通常没有可视化表示,只是控制其他元素放置的布局容器。鉴于您未在Background
上设置StackPanel
之类的内容,除非您的XAML或代码的其他部分正在修改它,否则不会导致您看到突出显示的内容。您描述的行为听起来像是Button
的默认行为,但是如果没有看到更多的代码,则很难分辨出行为的来源。
答案 1 :(得分:1)
自从你在评论中提到,你发现你实际上是在查看Menu
作为罪魁祸首的预期行为。您只需要编辑MenuItem Control Template,更具体地说是导致您突出显示的IsHighlighted
。你可能会发现像this这样有用的东西。
或者通过快速搜索自定义WPF Menu
/ MenuItem
找到了更多的各种信息,希望这会有所帮助。