0

我发现关于这个问题的信息很少。知道我是 C# 和 WPF 的新手:

我在 XAML 文件中定义了一个堆栈面板,如下所示:

<StackPanel Orientation="Vertical" >
        <TextBlock Text="Locale: "  VerticalAlignment="Center"/>
        <ComboBox x:Name="comboLocale" Width="60" VerticalAlignment="Center" SelectionChanged="comboLocale_SelectionChanged"/>
</StackPanel>

我想禁用当我将鼠标悬停在堆栈面板上时发生的突出显示,这会由于某种原因在 StackPanel 内创建蓝色。我还没有设置任何特殊样式。一些线程谈到将 OverridesDefaultStyle 设置为 TRUE,但这似乎并没有改变任何东西。此外,StackPanel 没有可用的 ControlTemplate,因此我发现的大多数解决方案都无法应用,因为它们引用的是 Button 或 TextBlock。

任何关于此事的意见将不胜感激!

-问候

4

2 回答 2

2

StackPanels通常没有视觉表示,只是控制其他元素放置的布局容器。鉴于您没有在 上设置任何类似Background的东西StackPanel,除非您的 XAML 或代码的其他部分正在修改它,否则这不是导致您看到的突出显示的原因。您描述的行为听起来像 a 的默认行为,Button但如果没有看到更多代码,很难判断行为来自何处。

于 2013-05-24T20:17:56.137 回答
1

由于您在评论中提到,您发现您实际上将 a 的预期行为Menu视为罪魁祸首。您只需要编辑MenuItem Control Template,更具体地说IsHighlighted是导致突出显示的那个。你可能会发现这样的东西很有帮助

Menu或者通过快速搜索自定义 WPF /可以找到更多各种信息MenuItem,希望这会有所帮助。

于 2013-05-25T05:26:19.850 回答