我正在自定义我的用户控件上的工具提示,使其看起来像一个标注。工具提示设置为显示在控件(Placement=Top)的上方,并有一个向下箭头指向它。
问题是当控件靠近屏幕边缘时,工具提示不会与控件的左侧对齐。因此,箭头指向控件左侧的空白区域。
更糟糕的是,如果控件位于屏幕顶部附近,则工具提示将显示在目标控件的下方,并且箭头指向下方。
你知道怎么解决这个问题吗?我正在寻找一些方法,以编程方式创建飞行的工具提示或设置触发器,以选择基于工具提示中的一些属性的样式,但我不知道如何。
发布于 2012-09-15 04:38:55
我在过去遇到过同样的问题,我所做的是通过PointToScreen(new Point(0,0))获得PlacementTarget的位置,并通过调用相同的方法来获得ToolTip的位置,然后进行数学运算,以确定ToolTip的位置是否正确。如果不是,那么我会根据它是显示在PlacementTarget的左侧、右侧、上方还是下方来更改ToolTip的Placement。此外,请记住,只有在ToolTip呈现之后,PointToScreen()才能工作,因此将一个处理程序附加到ToolTip.Open并在其中执行处理程序。希望这能帮上忙。如果你遇到一个更有效/更好的方法来解决这个问题,请告诉我。
https://stackoverflow.com/questions/12431621
复制相似问题