如何在WPF中使用详图索引调整工具提示的位置



我正在自定义用户控件上的工具提示,使其看起来像一个标注。工具提示设置为显示在控件(Placement=Top)上方,箭头向下指向控件。

问题是,当控件靠近屏幕边缘时,工具提示没有与控件的左侧对齐。因此,箭头指向控件左侧的空白区域。

更糟糕的是,如果控件位于屏幕顶部附近,则工具提示显示在目标控件下方,箭头指向下方。

知道如何解决这个问题吗?我正在寻找一些方法来以编程方式动态创建工具提示,或者根据工具提示中的一些属性设置触发器来选择样式,但我不知道如何。

我过去也遇到过同样的问题,我所做的是通过PointToScreen(new Point(0,0))获得PlacementTarget的位置,并通过调用相同的方法获得ToolTip的位置,然后计算ToolTip的位置是否正确。如果不是,那么我根据ToolTipPlacement是显示在PlacementTarget的左侧、右侧、上方还是下方来更改它。此外,请记住,PointToScreen()只有在ToolTip渲染后才能工作,因此请将一个处理程序附加到ToolTip.Open并在其中执行。希望这能有所帮助。如果你遇到更有效/更好的方法来解决这个问题,请告诉我。

最新更新