none
Tooltip没有IsLightDismissEnabled属性,手动打开后怎么关闭它呢? RRS feed

  • 问题

  • 请问一下,tooltip没有IsLightDismissEnabled属性,手动打开后怎么关闭它呢?

    我手动打开它,如何较好的实现关闭它呢?点击其它地方它不会自动关闭

               ToolTip toolTip = new ToolTip();
                toolTip.Content = tip;
                toolTip.Placement = PlacementMode.Top;
                ToolTipService.SetToolTip(button, toolTip);
                toolTip.IsOpen = true;


    2013年4月8日 8:05

答案

  • 我们可以仅在最顶层的组件上处理Pointer事件,由于路由事件机制,内部的元素发生的Pointer事件在没有被处理掉的情况下会路由到顶层,所以你并不需要在好几块区域分别处理,找个共有的顶层元素处理即可。

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年4月9日 9:22
    版主

全部回复

  • toolTip.IsOpen = false; 关闭。

    然后你就可以实现在其他区域点击出发一个事件去关闭。比如你的最顶层的Grid panel


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年4月8日 9:30
    版主
  • 有没有简单点的方式,现在我已经是这样做的

    但是,我的页面划分了好几块区域,并不知道用户接下来会在那块区域点击,是不是要在其它的所有区域Grid都加上点击触发去关闭呢?

    2013年4月9日 7:42
  • 我们可以仅在最顶层的组件上处理Pointer事件,由于路由事件机制,内部的元素发生的Pointer事件在没有被处理掉的情况下会路由到顶层,所以你并不需要在好几块区域分别处理,找个共有的顶层元素处理即可。

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年4月9日 9:22
    版主