Jimmy Schementi wrote: > [snip..] > > 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. > >
Well I'm already part way through writing a book on IronPython and I will *definitely* be including a chapter on Silverlight - so you ought to make the changes as soon as possible if for no other reason than it will make my life easier. ;-) All the best, Michael Foord http://www.manning.com/foord > ~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 > > _______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
