Google 就像 Silverlight 中的 SearchBox

发布于 2024-10-15 03:54:33 字数 560 浏览 1 评论 0原文

我在 Silverlight 中创建了一个类似 Google 的 SearchBox 控件。这意味着,当我在框中键入内容时,DropDownListBox 会出现在搜索框下方,显示与我迄今为止在搜索框中键入的文本匹配的所有项目(即自动完成功能),如下所示:

Google like Silverlight 中的 SearchBox

现在,我想为其添加一个功能:我想让 DropDownListBox 在用户点击外部后立即消失它或屏幕上的任何位置。我无法在其他控件中处理 MouseLeftButtonDown (或任何此类 事件)来完成此操作,因为用户可以单击任何位置,包括非 silverlight 区域。有人可以建议我应该做什么来实现这个目标吗?

所以我的问题基本上是:

如何知道用户是否刚刚单击并且单击事件发生在特定控件之外?

请注意,AutoCompleteBox 不符合我的目的。所以我不能使用它。

I've created a Google like SearchBox control in Silverlight. That means, as I type in the box, a DropDownListBox appears just below the SearchBox, showing all the items that match with the text I've typed in searchbox so far (i.e AutoComplete feature), exactly like this:

Google like SearchBox in Silverlight

Now, I want to add a functionality to it : I want to make the DropDownListBox to disappear, as soon as user clicks outside it, or anywhere on the screen. I cannot handle MouseLeftButtonDown (or any such event) in other controls, to accomplish this, because users can click anywhere, including non-silverlight region. Can anybody suggest me what should I do to achieve this?

So my question basically is:

How to know if user has just clicked and the click event occurred outside a particular control?

Please note that AutoCompleteBox doesn't serve my purpose. So I cannot use it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

垂暮老矣 2024-10-22 03:54:33

我有一种感觉,使用 LostFocus事件可以解决您的问题。

I have a feeling that working with LostFocus event can solve your problem.

浅紫色的梦幻 2024-10-22 03:54:33

我想这个问题有点老了,但我只是偶然发现尝试做同样的事情并找到解决方案。这就是我所做的,

  • 创建了一个所有边距为-500的边框,这将基本上覆盖整个屏幕。
  • 在此边框的单击行为中,搜索框的下拉部分
    已经崩溃了。
  • 调整搜索框和下拉菜单下方边框的 z 索引
    部分,因此单击 SearchBox 或 DropDown 不会将其关闭。
  • 设置Border Visibility Collapsed,并使其在DropDown Visible时可见。

我希望它可以帮助正在寻找类似问题的人。

I guess this question is a bit old, but i just stumble upon trying to do the same and finding a solution. This is what i did

  • Created a Border with All Margins -500, this will cover the full screen essentially.
  • On Click Behaviour of this Border, the dropdown section of SearchBox
    is collapsed.
  • Adjust z-Index of Border just below the SearchBox and DropDown
    section, so clicking on SearchBox or DropDown wouldn't close it.
  • Set Border Visibility Collapsed, and make it visible when DropDown is Visible.

I hope it helps someone who is looking for the similar problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文