我的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社交网站