【发布时间】:2010-12-18 19:19:46
【问题描述】:
我需要创建一个非模态 Silverlight 4.0 控件,当用户在其顶部输入特定的 TextBox 时会出现(弹出?),以启用更丰富的方式来编辑其内容。此控件具有其他控件,并且当用户在 SL 应用程序中的其他位置(而不是其边界内)单击鼠标时,它必须隐藏。所以我不能使用 lostfocus 事件导致位于我的用户控件中的控件在使用时会触发 lostfocus。
我不知道哪个是最好的解决方案,我添加了 canvas.MouseDown 事件,我在其中检查点是在我的控件内部还是外部,这可以正常工作,但是当用户输入另一个控件时 - 比如打开一个例如,组合框事件不会被触发,并且我的控件不会变得不可见。
我想知道哪些事件 - 使用的逻辑最简单、最清晰。
我一直在考虑使用弹出窗口,但我不清楚如何在我的场景中使用它,以及它提供了哪些确切的功能。
据我了解,它将显示在所有内容之上,这很好。但是,如果用户点击任何地方,而不是在弹出窗口中托管的控件上,我该如何隐藏弹出窗口?
我的控件没有任何可以触发隐藏它的“确定”按钮。它有一个滑块和一个可以编辑的文本框。
在一些想法似乎重复之后: How to dismiss a popup in Silverlight when clicking outside of the control?
【问题讨论】:
标签: silverlight silverlight-4.0 user-controls