为什么我的WPF工具提示和菜单项显示在屏幕的左上角



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

我目前使用的是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>

我们遇到了同样的问题,不是在所有机器上,而是在一些机器上。当窗口最大化时,突然所有弹出窗口(工具提示、组合框)都出现在左上角。我们使用的修复方法是更改所有滚动查看器的水平滚动条行为。如果你把它设置为自动,并且有一个非常特定的宽度,那么在布局过程中似乎有一个错误,导致所有弹出窗口都显示这种行为。所以我们总是显示滚动条,错误就消失了。

您可以通过添加来设置工具提示的放置位置

<Grid ToolTip.Placement="Mouse" ... />

在其他一些人中。

工具提示放置MSDN

PlacementMode枚举

你似乎不是唯一一个收到这个错误的人,MSDN社交网站

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

最新更新