Как открыть существующее окно с IronPython - PullRequest
2 голосов
/ 12 августа 2011

Я пытаюсь выучить немного IronPython, чтобы, возможно, ускорить процесс разработки. Я просто пытаюсь портировать некоторые простые команды, и в настоящее время я застрял при открытии существующего окна. В C # я бы сделал что-то вроде:

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

Кто-нибудь знает, как это сделать в IronPython? Я уверен, что смехотворно легко, как и все остальное, быть с IronPython.

Ответы [ 2 ]

1 голос
/ 13 августа 2011

Это должно сработать:

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))

Смотрите мой блог для большего примера .

0 голосов
/ 12 августа 2011

Насколько я знаю, вы можете сделать это следующим образом:

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()
...