A way to mitigate the incompatibility is to have a transition period before the 1.1 release where you can use either code-first or x:Code. I can't speak on behalf of C# apps, but that will most likely happen for "Dynamic Silverlight" anyway due to the way we're integrating it.
However, the Silverlight programming model is changing in future releases, so I wouldn't write a book about it yet. =P As soon as we can get bits into your hands ... we will. ~js > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:users- > [EMAIL PROTECTED] On Behalf Of Michael Foord > Sent: Friday, September 14, 2007 11:10 AM > To: Discussion of IronPython > Subject: Re: [IronPython] [python] Re: Using Silverlight Controls from > IronPython (Uhmm... it doesn't look like you can) > > Well.... it sounds like the new model is going to be a great > improvement > for Python developers on several fronts - buuuuut.... that means every > online example currently available will be wrong (and I can't write my > Silverlight chapter until you make the changes) ! > > :-) > > Michael Foord > http://www.manning.com/foord > > Jimmy Schementi wrote: > > Michael, > > > > You've got it. The programming model for Silverlight 1.1 C# apps will > be similar to WPF (aka. code-first and optional XAML loading). We will > be adhering to that general idea, but making it fit right with dynamic > languages. > > > > ~Jimmy > > > > ________________________________________ > > From: [EMAIL PROTECTED] [users- > [EMAIL PROTECTED] On Behalf Of Michael Foord > [EMAIL PROTECTED] > > Sent: Friday, September 14, 2007 1:49 AM > > To: Discussion of IronPython > > Subject: Re: [IronPython] [python] Re: Using Silverlight Controls > from IronPython (Uhmm... it doesn't look like you can) > > > > Ok Jimmy - I'm reassured. > > > > When you say "We're already in the progress of removing x:Code", does > > that mean that the technique for creating Silverlight / IronPython > > applications will change ? > > > > All the best, > > > > Michael Foord > > http://www.manning.com/foord > > > > > > Jimmy Schementi wrote: > > > >> Michael, > >> > >> Thanks for finding this. Like John said, this is a known issue, > however we were not aware it was per application! We are investigating > how best to fix this, be it talking to the right people to get the XAML > parser updated or removing the dependency on x:Code, whichever comes > first. =) We're already in the progress of removing x:Code, since it's > the root of this and other Silverlight+DLR integration issues. > >> > >> Rest-assured, using C# controls in a DLR language is a scenario we > definitely want to enable! > >> > >> As a "today" work-around, you could do as John suggests, however you > can't call into that "real" event handler since it's private. You > either have to pass on the event handler (which in this case isn't a > big deal as it's just an event to continue the button hover animation), > or rebuild the event handler in Python. In this case, it's simply: > >> > >> def PulseStoryboardCompleted(s, e): > >> s.Begin() > >> > >> For other situations, you have the code for the controls, so > building them in Python *should* be trivial. I agree, it's a completely > un-ideal solution, but that'll get you working today. > >> > >> ~Jimmy > >> > >> > >> > >> > >>> -----Original Message----- > >>> From: [EMAIL PROTECTED] [mailto:users- > >>> [EMAIL PROTECTED] On Behalf Of Michael Foord > >>> Sent: Thursday, September 13, 2007 3:22 PM > >>> To: Discussion of IronPython > >>> Subject: Re: [IronPython] [python] Re: Using Silverlight Controls > from > >>> IronPython (Uhmm... it doesn't look like you can) > >>> > >>> John Messerly wrote: > >>> > >>> > >>>> Sounds like a bug in XAML event binding... > >>>> > >>>> In the Silverlight 1.1 alpha, if the XAML contains an x:Code > element, > >>>> > >>>> > >>> then the XAML parser will always go to DLR/IronPython for event > hookup. > >>> That is to say, it will never use reflection to hook the event to a > >>> statically defined C# method. That is a known limitation. > >>> > >>> > >>>> I thought this behavior was per-XAML file, but from what you're > >>>> > >>>> > >>> describing it sounds like it's per application. > >>> > >>> > >>>> The only workaround I can think of would be to define a function > in > >>>> > >>>> > >>> your Python code for that event ("PulseStoryboardCompleted"), and > then > >>> from that function call into the "real" event handler. > >>> > >>> That means I need to know the details of what the XAML is hooking > up > >>> (which I don't) and it also means that I can't use prebuilt > controls > >>> from IronPython which is a major restriction. :-( > >>> > >>> Can you apply some gentle pressure in the right places? Jim Hugunin > >>> showed this working in their Vegas Mix talk - so it would be a > shame to > >>> lose it as basically it means that you can't use IronPython to > create > >>> rich user interfaces except completely from scratch. > >>> > >>> All the best, > >>> > >>> > >>> Michael Foord > >>> http://www.ironpython.info/ > >>> > >>> > >>> > >>>> Hope this helps, > >>>> John > >>>> > >>>> -----Original Message----- > >>>> From: [EMAIL PROTECTED] [mailto:users- > >>>> > >>>> > >>> [EMAIL PROTECTED] On Behalf Of Michael Foord > >>> > >>> > >>>> Sent: Wednesday, September 05, 2007 2:23 PM > >>>> To: Discussion of IronPython > >>>> Subject: [IronPython] Using Silverlight Controls from IronPython > >>>> > >>>> > >>> (Uhmm... it doesn't look like you can) > >>> > >>> > >>>> Hello all, > >>>> > >>>> I'm having an issue using Silverlight controls (compiled > assemblies) > >>>> from C#. Something is going wrong with member name resolution and > >>>> > >>>> > >>> XAML > >>> > >>> > >>>> interactions. > >>>> > >>>> I've had this with controls I've created myself, but it also > happens > >>>> with the sample controls project in the Silverlight 1.1 Refresh > SDK. > >>>> > >>>> If you try adding a reference to the 'Button' class and using it > from > >>>> IronPython, then Silverlight bombs out with the following message: > >>>> > >>>> Exception Details: System.MissingMethodException: Event handler > >>>> 'PulseStoryboardCompleted' is not defined > >>>> > >>>> PulseStoryBoardCompleted is setup in XAML (embedded as a resource > in > >>>> > >>>> > >>> the > >>> > >>> > >>>> assembly). This exception kills Silverlight - it cannot be caught > at > >>>> > >>>> > >>> the > >>> > >>> > >>>> IronPython level. > >>>> > >>>> To illustrate this, try the following IronPython code: > >>>> > >>>> import clr > >>>> clr.AddReference("Silverlight.Samples.Controls, Version=1.0.0.0, > >>>> Culture=neutral, PublicKeyToken=null") > >>>> from Silverlight.Samples.Controls import Button > >>>> > >>>> b = Button() > >>>> > >>>> > >>>> Any suggestions as to a way round this ? > >>>> > >>>> > >>>> All the best, > >>>> > >>>> > >>>> Michael Foord > >>>> http://www.ironpython.info/ > >>>> > >>>> > >>>> _______________________________________________ > >>>> 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 > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>> _______________________________________________ > >>> 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 > >> > >> > > > > _______________________________________________ > > 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 > > > > _______________________________________________ > 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
