我正在尝试学习一些IronPython,以加速开发过程。我只是试图移植一些简单的命令,目前我被困在打开现有的窗口。在C#中我会做这样的事情:如何用IronPython打开现有窗口
var about = new AboutWin();
about.Show();
有没有人知道如何去做这个在IronPython?我相信这很容易,就像其他所有事情都与IronPython一样。
我正在尝试学习一些IronPython,以加速开发过程。我只是试图移植一些简单的命令,目前我被困在打开现有的窗口。在C#中我会做这样的事情:如何用IronPython打开现有窗口
var about = new AboutWin();
about.Show();
有没有人知道如何去做这个在IronPython?我相信这很容易,就像其他所有事情都与IronPython一样。
据我知道你可以做到这一点通过以下方式:
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Form,Labels
myForm = Form()
myForm.Text = 'Test'
label = Label()
label.Text = 'Label Test'
myForm.Controls.Add(label)
myForm.Show()
你的情况
如您首先需要添加参考AboutWin,然后用同样的方式:
import clr
clr.AddReference(<put your assembly name here>)
from <namespace> import AboutWin
aWin = AboutWin()
aWin.Show()
这应该做的伎俩:
import clr
clr.AddReference('PresentationFramework')
import System
from System.Windows.Markup import XamlReader
from System.Windows import Application
XAML_str = """<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="250" Height="100">
<TextBox Text="Hello from IronPython" />
</Window>"""
app = Application()
app.Run(XamlReader.Parse(XAML_str))
请参见我的博客bigger example。
+1您的答案 - 我错过了他正在尝试运行WPF应用程序 –
我的项目名称是Wpf_Python。下面是我的尝试: – Dylan
进口CLR clr.AddReference(Wpf_Python) 从Wpf_Python进口AboutWin AWIN = AboutWin() aWin.Show() 不幸的是这并没有这样的伎俩。我得到一个错误,说“无法添加引用程序集AboutWin”。我错过了什么吗? – Dylan
我认为你必须检查你使用的参考名称或命名空间。认为你指定了错误的方式。如果clr.AddReference工作正常,然后检查声明,以确保正确的名称指定 –