Manipulating Silverlight controls dynamically from IronRuby - is it currently possible?

Hi,

Is it currently possible to add children to an existing Silverlight
control
from the ruby code side ? (like in the IronPython version seen on
http://www.voidspace.org.uk/ironpython/webide/webide.html - great stuff
btw
Michael!)

And an extra question: is the Button control available from the
silverlight
build on http://dynamicsilverlight.net ?

cheers,

– Thibaut

Hi

Yes the button control is available. The code that goes with that blog
post
uses a button. I want to improve that code still because you can do more
with IronRuby than that. I just need some time to do it.

Basically you need to add the assemblies System.Windows.Controls and
System.Windows.Controls.Extended to your app folder. You can find those
assemblies in program files\microsoft sdks\Silverlight\v2.0
You also need to add a AppManifest.xaml file to your app folder and that
should contain:

<Deployment.Parts>








</Deployment.Parts>

from then on you can use the button control but you still need to add
the
namespace to your xaml file. I have this for a button.
<UserControl x:Class=“System.Windows.Controls.UserControl”
xmlns=“http://schemas.microsoft.com/client/2007
xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml

xmlns:c=“clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls”

xmlns:e=“clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Extended”

hth
Ivan

On Wed, Apr 9, 2008 at 12:16 AM, Thibaut Barrère
[email protected]

Hi Ivan,

thanks a lot for all this, that will definitely be useful!

Is it currently possible to add children to an existing Silverlight
control from the ruby code side ?

Any hint most welcome on that point too !

cheers

– Thibaut

Hey Thibaut, sorry for the very delayed response …

Every Silverlight object you place on a page is sandboxed, so other
Silverlight objects cannot access each other. So a Silverlight
greasemonkey-esk thing isn’t really possible. =( When you create a
Silverlight object, you implicitly say whether you want to use the
Silverlight 1 or Silverlight 2 behavior with the ‘source’ attribute;
when you give it a XAML file:

You’re saying you want to use Silverlight 1, which bypasses the CLR and
gives you JavaScript programmability of the Silverlight visual elements.
However, when you give it a xap file:

You’re saying you want to use Silverlight 2, which gives you Ruby,
Python, C#, etc. Unfortunately, there’s no way to combine these “modes”,
so you can have native JavaScript and .NET languages both manipulating
the Silverlight control. However, if you’re just using HTML, you can
use Ruby to monkey-patch the page. =)

Hope that answers your questions,
~Jimmy

From: [email protected]
[mailto:[email protected]] On Behalf Of Thibaut
Barrère
Sent: Tuesday, April 08, 2008 5:42 AM
To: [email protected]
Subject: Re: [Ironruby-core] Manipulating Silverlight controls
dynamically from IronRuby - is it currently possible ?

Hi Ivan,

thanks a lot for all this, that will definitely be useful!

Is it currently possible to add children to an existing Silverlight control from the ruby code side ?

Any hint most welcome on that point too !

cheers

– Thibaut