为什么我的WPF工具提示和菜单项显示在屏幕的顶部/左侧

时间:2013-07-30 10:30:26

标签: .net visual-studio-2010 c#-4.0 wpf-4.0

我的wpf应用程序中有几个按钮,以及带菜单项的一些菜单。问题是,每当我将鼠标悬停在我的按钮上时,工具提示都会显示在屏幕的左上角,当我点击菜单时,菜单项也会显示在屏幕的左上角。

我目前正在使用Visual Studio 2010,而我正在运行Windows 7 64位。

我该如何解决这个问题?

如果这会有所帮助,下面是按钮上使用的控件模板示例:

<ControlTemplate x:Key="CompileButton" TargetType="{x:Type Button}">
        <Grid ToolTip="Run all test cases" Cursor="Hand">
            <Ellipse x:Name="ell" Stroke="Black" StrokeThickness="0">
                <Ellipse.Fill>
                    <ImageBrush ImageSource="Images/Compile.png"/>
                </Ellipse.Fill>
            </Ellipse>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="Button.IsMouseOver" Value="True">
                <Setter TargetName="ell" Property="Opacity" Value="0.7" />
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

2 个答案:

答案 0 :(得分:1)

我们遇到了同样的问题,不是在所有机器上,而是在某些机器上。它发生在窗口最大化时,突然所有弹出窗口(工具提示,组合框)出现在左上角。我们使用的修复是更改所有滚动查看器的水平滚动条行为。如果您已将其设置为auto,并且具有非常特定的宽度,则布局过程中似乎存在错误,导致所有弹出窗口显示此行为。所以我们总是显示滚动条,错误消失了。

答案 1 :(得分:0)

您可以通过添加

来设置工具提示的放置位置
<Grid ToolTip.Placement="Mouse" ... />

其他一些人。

Tooltip Placement MSDN

PlacementMode Enum

看起来你并不是唯一一个得到这个错误的人,the MSDN social site

上的这个帖子中有一些解决方法