2010-06-16 40 views
2

我剛剛安裝了VS2010和很棒的新的IronPython Tools擴展。 Currently此擴展在雙擊wpf可視控件時尚未在代碼中生成事件處理程序。有沒有人可以提供或指向我的例子,如何在Python中手動編寫wpf事件處理程序。我沒有找到任何運氣,而且我對視覺工作室還不熟悉。將IronPython鏈接到WPF

在產生一個新的IPython 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不支持事件連接。如果您需要事件,則必須從Python代碼中註冊處理程序,而不是在XAML中註冊處理程序 - 一旦獲得了要爲其註冊事件的控件,就會按照通常的+=語法完成。

也可以看看this sample的一些幫手,可能會使這更容易。

+0

如果我有足夠的積分投票給你,我會。 ++謝謝 – DonnyD 2010-06-17 04:39:14