[IronPython] how to use IronPython in Silverlight 2

Jimmy Schementi Jimmy.Schementi at microsoft.com
Tue Mar 11 00:21:32 CET 2008


To load a XAML file and set the RootVisual, you can do this:

Application.Current.LoadRootVisual("file.xaml")

It's how we do it in the python samples on http://dynamicsilverlight.net

~Jimmy

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland
Sent: Friday, March 07, 2008 11:25 AM
To: Discussion of IronPython
Subject: Re: [IronPython] how to use IronPython in Silverlight 2

One problem is that XamlReader.Load takes the string of XAML and not a filename.  But there's something about the XAML that isn't working right too.  I'm no XAML expert but simplifying it to the code below works, you can probably build something up from that.  Personally for my Silverlight hacking I've just been building up the tree programmatically from Python code even though that's uncool :).

from System.Windows import Application
from System.Windows.Markup import XamlReader

Application.Current.RootVisual = XamlReader.Load("""
<Canvas Width="100" Height="100" xmlns="http://schemas.microsoft.com/client/2007"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <TextBlock FontSize="30" Text="hello world"/>
</Canvas>""")



From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Kevin Chu
Sent: Friday, March 07, 2008 9:32 AM
To: Discussion of IronPython
Subject: Re: [IronPython] how to use IronPython in Silverlight 2

hi Dino
Thanks for your reply.
But I try my sample (look attachment), It can't run! Is my code mistake ?

IronPython code:
from System.Windows import Application
from System.Windows.Markup import XamlReader
class App:
   def __init__(self):
      Application.Current.RootVisual = XamlReader.Load("app.xaml")
      self.scene = Application.Current.RootVisual.grid
   def start(self):
      # TO DO: Replace this with your application start logic.
      self.scene.message.Content = "Welcome to Silverlight and IronPython!"
App().start()
XAML code:
<UserControl x:Class="System.Windows.Controls.UserControl"
            xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Grid x:Name="grid" Background="White">
        <TextBlock x:Name="message" FontSize="30" />
    </Grid>
</UserControl>
On Fri, Mar 7, 2008 at 11:55 AM, Dino Viehland <dinov at exchange.microsoft.com<mailto:dinov at exchange.microsoft.com>> wrote:

You'll need to download the Silverlight 2 SDK.  After installing that you'll get all the necessary components installed into something like C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Libraries\Client.  Also installed is an extremely useful tool called Chiron which you'll find somewhere around C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Tools\Chiron.  Chiron can take your .py file and produce a .xap which includes the IronPython & DLR DLLs using the /zipdlr command line option.  You can also use it to serve http requests and automatically serve up the .xap and let you just edit the files.



So once you're ready to make your xap the directory you point at should contain a .py file (I'm not sure what the multi .py file experience is like, but w/ a single file the it doesn't seem the name matters).    The simplest thing to put in there is:



from System.Windows import Application

from System.Windows.Markup import XamlReader



Application.Current.RootVisual = XamlReader.Load("someXaml")



You can see this from the Ruby perspective over at http://www.iunknown.com/2008/03/dynamic-silverl.html



There's various options on how to deploy the DLLs, and you can get into manifest files to deploy additional DLLs, but hopefully that'll get you started.





From: users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com> [mailto:users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com>] On Behalf Of Kevin Chu
Sent: Thursday, March 06, 2008 7:39 PM
To: Discussion of IronPython
Subject: [IronPython] how to use IronPython in Silverlight 2



Silverlight 2 beta1 tools for VS2008 only create C# code file,

How to create a IronPython code file?

--
Once in a Redmoon

_______________________________________________
Users mailing list
Users at lists.ironpython.com<mailto:Users at lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



--
Once in a Redmoon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20080310/e7515650/attachment.html>


More information about the Ironpython-users mailing list