Как обновить TextBox с помощью wpf, IronPython

У меня есть приложение в IronPython, где я загружаю свой xaml с помощью wpf: "wpf.LoadComponent(....xaml)"

У меня есть кнопка и текстовое поле в моем приложении, и когда я нажимаю кнопку, приложение начинает выполнять 2-минутную работу, мне нужно обновить текстовое поле приложения во время этой работы. Но я не могу этого сделать. Мой textBox обновляет его только после завершения двухминутной работы.

Любая помощь? Спасибо


person Anne    schedule 30.01.2015    source источник
comment
не могли бы вы поделиться кодом?   -  person Joseph    schedule 30.01.2015


Ответы (3)


класс Window1(Window): def init(self): wpf.LoadComponent(self, r'....\myWindow.xaml')

def execute1(self)
    self.textBoxRes.Text += "\nExecuting step one -------------"
    text= internalCode()
    self.textBoxRes.Text += "\nEnd step 1 -------------"
    return text
def execute2(self)
    self.textBoxRes.Text += "\nExecuting step two-------------"
    text= internalCode2()
    self.textBoxRes.Text += "\nEnd step 2 -------------"
    return text
def execute3(self)
    self.textBoxRes.Text += "\nExecuting step three -------------"
    text= internalCode3()
    self.textBoxRes.Text += "\nEnd step 3 -------------"
    return text
def execute4(self)
    self.textBoxRes.Text += "\nExecuting step four-------------"
    text= internalCode4()
    self.textBoxRes.Text += "\End step 4. Result: "
    return text

def Execute_Click(self, sender, e):
    self.textBoxRes.Text = "Starting :"
    res1= self.execute1()
    if res1==0:
        res2=self.execute2()
        if res2==0:
            res3=self.execute3()
        if res3==0:
            res4= self.execute4()
    self.textBoxRes.Text += "Stop"

if name == 'main': Application().Run(Window1())

person Anne    schedule 30.01.2015
comment
Пожалуйста, кто-нибудь может мне помочь? Спасибо - person Anne; 02.02.2015

Предположим, у вас есть текстовое поле, чтобы назначить ему запись, просто используйте .Text

Xaml:

<TextBox x:Name="ent" Grid.Row="0" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="10,4,10,2"/>

Код IronPython:

self.ent = self.FindName('ent')
self.ent.Text = ....
person Hamid K    schedule 04.12.2015

Следующий фрагмент может вам помочь.

XAML:

<Label Content="" HorizontalAlignment="Left" Margin="62,163,0,0" VerticalAlignment="Top" Height="472" Width="880" Foreground="Black" FontSize="18" Background="White" x:Name="label1"/>

Железный Питон:

def Button_Click1(self, sender, e): self.label1 = self.FindName('label1') self.label1.Content = "Test Succeeded" pass

person Karthik Sankar    schedule 16.12.2018