2010-06-16 95 views

回答

0

弹出窗口很不错,但很难控制。在我们的应用程序中,我们使用装饰者作为“弹出式”编辑器 - 我们创建了一个控件,可以保存任何其他控件并将其显示在主窗口的装饰图层中。这允许做一些事情,比如让一个控件出现在另一个控件旁边,但仍然有另一个控件在使用,或者我们可以使背景变灰,并将焦点强制到新控件上,并且不允许使用任何其他控件,直到“ok”按钮。如果你使用wpf作为Google的装饰者,你会发现很多优秀的文章。

+0

我会研究如何使用wpf装饰者。我有兴趣开发看起来不像传统winforms的应用程序。你是否主要用你的应用程序替换了应用程序中模态窗口的使用,还是只在特定情况下使用它们? – GoalMaker 2010-06-17 00:45:57

+0

我们使用的是一种模式窗口 - 它看起来不像WinForms应用程序。我们在它们中放置一个控件(比如地址编辑器) – 2010-06-17 08:03:50

1

该问题实际上是桌面与Web应用程序之一。 Silverlight(或其他触摸应用程序)中的弹出窗口只涉及一个真正的窗口(移动表面或Web浏览器)。如果您正在编写桌面应用程序,那么模式窗口可能会更好地匹配用户期望,因为Popups无法离开父窗口。

+0

实际上,在WPF和Silverlight中,Popup **都可以**离开父窗口。这使得它不同于装饰者,它不能。当然,如果你在网络浏览器或者没有窗口概念的移动平台上运行,那么根据定义,没有任何东西可以离开窗口。在我看来,提问者问的是两种技术,Popups和模态窗口,它们都能够在父窗口之外出现,但在其他方面有所不同。 – 2010-06-16 20:06:37