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] [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

Reply via email to