[Ironpython-users] FW: IronPython WPF application

Michael van der Kolff mvanderkolff at gmail.com
Mon Dec 10 20:26:44 CET 2012


Hmm.  Perhaps you should have a look at the WPF example here:
http://www.ironpython.info/index.php/WPF_Example.  That one doesn't try to
load its UI out of an XML file.

There appear to be some tricks applicable to XAML with WPF, relating to
where you can load the XML from:
http://stackoverflow.com/questions/710329/load-external-xaml-file-using-loadcomponent

It seems that the XAML may be subject to an interesting variant of their
site-origin policy :(

Cheers,


Michael


On Tue, Dec 11, 2012 at 4:03 AM, Jackie Sproat
<JackieSproat at smarttech.com>wrote:

>  ** **
>
> I am simply trying to get the handle to a WPF window, but it doesn’t seem
> to be working.****
>
> I am as new to WPF as I am to IronPython so please forgive me J****
>
>
> From what I have read I believe the handle is not getting set in __init__
> because it is only available at run_time(?)****
>
> Therefore, have to add Loaded=”Window_Loaded” in MyWindow.xaml so that
> handle is guaranteed to be set after window is loaded(?)****
>
> However, this requires a routed event handler which, I know nothing about
> but I do know the line: ****
>
> ** **
>
>     ((MyWindow)(target)).Loaded +=
> System.Windows.RoutedEventHandler(this.Window_Loaded);****
>
> Works in C#, not sure what the equivalent line would be in IronPython?****
>
> ** **
>
> Please help, I simply want to run MyWindow and get a handle to it!****
>
> ** **
>
> ** **
>
> Here is a snippet of my code:****
>
> class MyWindow(Window):****
>
>     def __init__(self):****
>
>         wpf.LoadComponent(self, 'WpfApp_Test.xaml')        ****
>
>         self.hWnd = WindowInteropHelper(self).Handle #self.hWnd is not
> getting set****
>
>         dir(self.hWnd)****
>
>     def Window_Loaded(self):****
>
>         self.hWnd = WindowInteropHelper(self).Handle #never gets called***
> *
>
>         ****
>
> if __name__ == '__main__':****
>
>        Application().Run(MyWindow())****
>
>     #((MyWindow)(target)).Loaded +=
> System.Windows.RoutedEventHandler(MyWindow().Window_Loaded)****
>
> ** **
>
> Actual, WPF IronPython app (VS2010) is contained in .zip folder attached
> (just need to rename .zzz to .zip and decompress)****
>
> ** **
>
> Cheers,****
>
> Jackie****
>
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> http://mail.python.org/mailman/listinfo/ironpython-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20121211/7f97f300/attachment.html>


More information about the Ironpython-users mailing list