On addressing the typing issues: We haven't yet added any support for creating static types to the DLR. Currently we seem to be leaning in the direction of making it easy for static languages to use the DLR languages (obviously an important goal anyway :) ) but not much is settled here.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bish Bosh Sent: Thursday, May 17, 2007 10:42 AM To: Discussion of IronPython Subject: Re: [IronPython] Referring to Python types in Xaml Interesting. My intention is not to have any C# in the projects so cooking my own type by that method is out. I guess people are just not using IP as a one for one replacement for C# as I had hoped to. In the two cases I talked about in post I guess I have workarounds. For creating instances I can create them in Python code and add them to the Resource database for use in the Xaml. For templating I can create a typeless data template and simply refer to this when I display the collection rather than have the system find this template automatically by type. No biggie really for the simple apps I'm doing, the benefits of using Python and Xaml outweigh these wrinkles. I wonder if the DLR is addressing these sort of typing issues? Up to now I'm a little unclear what those chaps are up to. Thanks for your prompt answer. On 5/17/07, Dino Viehland <[EMAIL PROTECTED]> wrote: > We don't generate a type that can be easily consumed from static languages. > Can you use an interface in the DataTemplate line, eg: > > <DataTemplate DataType="{x:Type IFancyData}"> > > If so then you could declare an interface in C# (or find an existing one > which has what you want) and inherit & implement the interface in Python. > Then the interface will be the bridge between the static & dynamic worlds. > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bish Bosh > Sent: Thursday, May 17, 2007 8:46 AM > To: [email protected] > Subject: [IronPython] Referring to Python types in Xaml > > What is the mechanism for making types in the Python domain available > to the WPF type system for use in a Xaml file? > > In the code below I am refering to the Python class to do some > formatting but would have the same problem if I was trying to create > an instance of a Python class in the Xaml file. Any ideas? I'm pretty > sure I'm missing something simple but fundamental. As usual. > > In Python file I have a type: > > class FancyData(ObservableCollection[str]): > pass > > The collection to be displayed I am adding as an application resource: > > app.Resources.Add('collection', FancyData()) > > So it can be bound to as expected in the Xaml: > > <ListBox ItemsSource="{Binding Source={StaticResource collection}}"/> > > In Xaml file I would like to refer to the type to do some formatting: > > <DataTemplate DataType="{x:Type FancyData}"> > <StackPanel> > ... > > I get the error: > > File data1.py, line 108, in Initialize > File , line 0, in _stub_##77 > File data1.py, line 26, in LoadXaml > File , line 0, in _stub_##87 > File PresentationFramework, line unknown, in Load > File PresentationFramework, line unknown, in XmlTreeBuildDefault > File PresentationFramework, line unknown, in Parse > File PresentationFramework, line unknown, in ParseFragment > File PresentationFramework, line unknown, in _Parse > File PresentationFramework, line unknown, in ReadXaml > File PresentationFramework, line unknown, in Read > SystemError: Type reference cannot find public type named 'FancyData'. > _______________________________________________ _______________________________________________ users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
