2010-06-16 5 views
2

방금 ​​VS2010을 설치했으며 멋진 새 IronPython Tools 확장을 설치했습니다. Currently이 확장명은 wpf 시각적 컨트롤을 두 번 클릭하면 코드에서 이벤트 처리기를 생성하지 않습니다. 제공 할 수있는 사람이 있는가, 아니면 wpf 이벤트 핸들러를 파이썬으로 수동으로 코딩 할 것인지에 대한 예를 들어 보겠다. 나는 행운을 찾지 못했고 나는 Visual Studio를 처음 사용합니다. 새로운 ipython의 WPF 프로젝트를 자동 생성 된 코드를 생성하면 IronPython을 WPF에 연결

은 다음과 같습니다

import clr 
clr.AddReference('PresentationFramework') 

from System.Windows.Markup import XamlReader 
from System.Windows import Application 
from System.IO import FileStream, FileMode 

app = Application() 
app.Run(XamlReader.Load(FileStream('WpfApplication7.xaml', FileMode.Open))) 

와 XAML은 다음과 같습니다

<Window 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="WpfApplication7" Height="300" Width="300"> 
     <Button>Click Me</Button> 
</Window> 

어떤 도움을 주시면 감사하겠습니다.

답변

5

여기에는 <Button Click="Foo">과 같은 것을 사용할 수 없습니다. IronPython 클래스가 CLR 클래스에 직접 매핑하지 않기 때문에 클래스에 창에 해당하는 클래스가 없기 때문에 클래스를 얻을 수 없습니다. 또한 여기서 XAML 파일을로드하는 데 사용되는 XamlReader은 이벤트 와이어를 지원하지 않습니다. 이벤트가 필요한 경우 XAML이 아닌 Python 코드의 핸들러를 등록해야합니다. 이벤트를 등록 할 컨트롤을 얻은 후에는 일반적인 += 구문으로 처리됩니다.

또한 쉽게 할 수있는 일부 도우미의 경우 this sample을 확인하십시오.

+0

투표 할 수있는 충분한 점수가 있다면 그렇게 할 것입니다. ++ 고마워요. – DonnyD