请耐心等待,我是 GUI 编程、IronPython、WPF 和 .NET 的新手。但是,我对 Python 相当熟悉。我浏览了许多在线教程,但似乎没有一个能解决我面临的确切问题。(也许是微不足道的?但对我这样的人来说,这不是微不足道的!)
问题:我想知道如何从我的 Windows.System.Application 启动新的 WPF 窗口 (XAML) 作为新窗口。基本上,我想从我的应用程序的帮助菜单中启动一个“关于”对话框。我知道这可以通过使用 System.Windows.Forms.Form 来实现,但从长远来看,我希望能够通过使用 XAML 标记来加载更复杂的窗口排列。
目前,当我单击关于菜单 (mnuAboutClick) 时,它会加载 XAML 窗口,但在此过程中会替换/销毁原始主窗口 (WpfMainWindow)。我希望两个窗口都保持打开状态。
编辑:或者,有没有办法将 xaml 加载到 System.Windows.Forms.Form 中?这将适合我的需要。
这是我的代码示例:
import wpf
from System.Windows import Application, Window
class MyWindow(Window):
def __init__(self):
wpf.LoadComponent(self, 'WpfMainWindow.xaml')
def mnuAboutClick(self, sender, e):
print 'About Menu Click'
wpf.LoadComponent(self, 'WpfAboutWindow.xaml') # How to launch "About Dialog", This works, but destroys "WpfMainWindow"!
if __name__ == '__main__':
Application().Run(MyWindow())