Readme for
IronPython Studio
Because IronPython is a dynamic language, event handling generation
is not implemented like it is in static languages such as C#. The primary
problem is that the IronPython compiler does not
produce strongly typed assemblies. Therefore, for WPF, static-language-like
event handling creation cannot be illustrated at compile time. Instead, custom
event handling is implemented by wiring the event handling code to the compiled
XAML.
For the WPF
designer to instantiate a custom EventBindingProvider,
the type (for example, PythonEventBindingProvider)
must be on a path in the registered .NET AssemblyFolders.
As a post-build step, PythonProject.csproj registers
its output folder as an AssemblyFolder to meet this
requirement.
When you
build an IronPython WPF application, you may receive
the following error message: “Unknown build error, 'Object reference not set to
an instance of an object'”. For XAML compilation to succeed, a valid CodeDomProvider for the language being compiled must be
registered on the computer. Because this is a global machine configuration
setting, the IronPython sample does not try to
register the IronPython CodeDomProvider
automatically. To register the IronPython CodeDomProvider manually and build IronPython/WPF
projects by using Visual Studio or MSBuild, do the
following things: