2010-06-16 6 views
2

Я только что установил VS2010 и большое новое расширение IronPython Tools. Currently это расширение еще не генерирует обработчики событий в коде при двойном щелчке визуальных элементов управления wpf. Есть ли кто-нибудь, кто может предоставить или указать мне пример того, как вручную обрабатывать обработчики событий wpf в python. Мне не повезло найти, и я новичок в визуальной студии.Ссылка IronPython на WPF

После создания новой IPython МОФ проекту автоматически сгенерированный код является:

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. Кроме того, XamlReader, который используется для загрузки файла XAML здесь, не поддерживает сбор событий. Если вам нужны события, вам нужно будет зарегистрировать обработчики из кода Python, а не в XAML, что делается с помощью обычного синтаксиса +=, как только вы получите элемент управления, для которого вы хотите зарегистрировать событие.

Также ознакомьтесь с this sample для некоторых помощников, которые могут сделать это проще.

+0

Если бы у меня было достаточно очков, чтобы проголосовать за вас, я бы это сделал. ++ Спасибо – DonnyD

Смежные вопросы