2017-12-23 3 views
1

Im는 Python에 새롭고 VS 및 im은 버튼으로 간단한 GUI를 만들려고합니다. 버튼을 클릭하면 인쇄를 원합니다 (5).버튼 IronPython + Wpf에서 이벤트 클릭

코드는 내가 "실행"을 클릭하면 다음 그러나 것은 그것이 어떤 조치없이 종료로 보이는 :

import wpf 

from System.Windows import Application, Window 

class MyWindow(Window): 
    def __init__(self): 
     wpf.LoadComponent(self, 'WpfApplication1.xaml') 

    BUTTON.Click += self.Button_Click 
    print(5) 

def Button_Click(self, sender, e): 
    pass 

if __name__ == '__main__': 
    Application().Run(MyWindow()) 

XAML :

<Window 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="WpfApplication1" Height="300" Width="300"> 
     <Grid> 
     <Button x:Name="BUTTON" Content="Button" HorizontalAlignment="Left" Margin="101,82,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click" Background="#FFFF1616"/> 
    </Grid> 
</Window> 

감사합니다.

+0

더 쉬울 수도 있나요? xaml 코드의 관련 부분을 포함하도록 답변을 편집 할 수 있다면 이것을 삼가하십시오. – gtalarico

+0

에 XAML이 추가되었습니다. – Ben

+0

또한 제목 편집을 제안해도 좋을지 모르겠지만 질문은 IronPython/wpf가 아닌 Visual Studio에 관한 것이기 때문에 더 적절할 것입니다 :'IronPython + Wpf에서 버튼 클릭 이벤트 ' – gtalarico

답변

0

버튼 클릭에 대한 이벤트 처리기를 추가해야합니다. 창 init에 이것을 추가하십시오. (버튼은 XAML 코드에서 버튼의 이름과 일치해야합니다)

ui = wpf.LoadComponent(self, 'WpfApplication1.xaml') 
ui.BUTTON.Click += self.Button_Click 

당신은 또한 XAML 코드를 통해 동일한 얻을 수 있습니다

import wpf 

from System.Windows import Application, Window 

class MyWindow(Window): 
    def __init__(self): 
     self.ui = wpf.LoadComponent(self, 'form.xaml') 
     # not needed because event handler 
     # is in XAML 
     # to handle event on code, remove this from xaml's button tag: 
     # Click="Button_Click" 
     # and uncomment line below: 
     # self.ui.Button.Click += self.Button_Click 

    def Button_Click(self, sender, e): 
     print('Button has clicked') 

if __name__ == '__main__': 
    Application().Run(MyWindow()) 
    # Alternatively, below also works: 
    # form = MyWindow() 
    # form.ShowDialog() 

: 아래의 의견

 <Button x:Name="BUTTON" Click="Button_Click"></Button> 

작동 코드를 작업 양식의 스크린 샷보기 : enter image description here

+0

변경했으나 작동하지 않았습니다. 질문 친구를 업데이트했습니다. – Ben

+0

1 컴파일 후 프로그램이 코드가 무엇이든지 상관없이 컴파일이 중지되고 다음 오류가 발생합니다. 프로그램 '[3484] ipyw.exe'가 코드 1 (0x1)에서 종료되었습니다. – Ben

+0

전체 샘플이 추가되었습니다. – gtalarico