
Unfortunately Visual Studio seems to crash, as you have already seen, with a null reference exception when you try to edit the XAML and give the UI elements a name.
#How to set up iron python in visual studio code
In fact it seems that you can simplify the code even further by removing the property definitions: class MyWindow(Window): Textbox = property(get_textbox, set_textbox) Wpf.LoadComponent(self, 'IronPyWpf.xaml')īutton = property(get_button, set_button)

Then you can define two properties called button and textbox to access the UI elements: class MyWindow(Window): So with IronPython 2.7 if you use the following XAML: If you are using IronPython 2.6 then you would need to use the code as suggested by WombatPM. In IronPython 2.7 the wpf.LoadComponent method will wire up any properties with the same name as the XAML UI elements. I'm also open to other suggestions for Python GUI development which offer an experience similar to Visual Studio. Here is the generated XAML for a simple frame with a button and text area: Īny assistance in making this easier on the students would be appreciated. I noticed that the GUI elements do not get a name and Visual Studio crashes whenever I try to manually modify the XAML to name elements.

#access an element and modify its properties #This is the only way I could find in which I can

Wpf.LoadComponent(self, 'WpfApplication3.xaml') The best I could do with IronPython (which I don't plan to show to the students) is the following: import wpfįrom System.Windows import Application, Window For example, with VB, you can refer to elements based on their name and then you can modify properties within them. I can use the WPF form designer just like VB and C#, however, I couldn't find a convenient way (i.e., comprehensible to the students) in which the GUI elements could be accessed. I installed IronPython 2.7.1 which includes the Visual Studio tools, and created a WPF IronPython project. While the GUI development experience with C# and VB is pleasant, I couldn't find a way to do the same with IronPython. I'm teaching an introductory class to programming and GUI development using Python, and have found that the least overwhelming solution for students new to programming is to use Visual Studio for GUI development.
