2011-08-12 15 views
2

IronPythonを学び、開発プロセスの時間を短縮しようとしています。私は単純なコマンドを移植しようとしていますが、現在は既存のウィンドウを開いたままです。 C#では、私は次のようなことをします:IronPythonで既存のウィンドウを開く方法

var about = new AboutWin(); 
about.Show(); 

IronPythonでこれを行う方法を知っている人はいますか? IronPythonを使用するために他のすべてのものと同じように、それはちょっとばかり簡単だと確信しています。

答えて

0

限り私はあなたがこれに以下の方法を行うことができます知っているよう:

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() 
+0

私のプロジェクト名はWpf_Pythonです。ここに私が試したものです: – Dylan

+0

輸入CLR clr.AddReference(Wpf_Python) はWpf_Pythonインポートから AWIN = AboutWin() aWin.Show(AboutWin) は、残念ながら、これはトリックをしませんでした。私は、 "AboutWinアセンブリへの参照を追加できませんでした"というエラーが表示されます。何か不足していますか? – Dylan

+0

私はあなたの参照名または使用する名前空間を確認する必要があると思います。間違った方法で指定したと思います。 clr.AddReferenceが正しく動作する場合は、from文をチェックして正しい名前が –

1

これはトリックを行う必要があります。

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のための私のブログを参照してください。

+0

+1であることを確認してください - 私はWPFアプリケーションを実行しようとしています –

関連する問題