Powered by MSDN

US - English
NEW! Silverlight 5 is available Learn More

Dynamically Adding RadialGradientBrush RSS

1 reply

Last post Dec 19, 2007 05:52 PM by aspdotnetjunkie

(0)
  • aspdotnetjunkie

    aspdotnetjunkie

    Member

    458 Points

    93 Posts

    Dynamically Adding RadialGradientBrush

    Dec 18, 2007 06:23 PM | LINK

    Hi all and thanks in advance

    How to dynamically add property elements to an element?

    For example how can I dynamically add the following to a rectangle using js?

    <Rectangle.Fill>

          <RadialGradientBrush>

              <GradientStop Color="white" Offset="0"/>

              <GradientStop Color="#ff7400" Offset="1" />

     

    </RadialGradientBrush>

     

    //Why this doesn't work. 

    var radialgradientbrush = control.Content.CreateFromXaml("<RadialGradientBrush />")

    var gradientstop1 = control.Content.CreateFromXaml("<GradientStop />")

    gradientstop1.Color="White"

    gradientstop1.Offset= 0

    var gradientstop2 = control.Content.CreateFromXaml("<GradientStop />")

    gradientstop1.Color="#ff7400"

    gradientstop1.Offset= 1

    radialgradientbrush.Children.Add(gradientstop1)

    radialgradientbrush.Children.Add(gradientstop2)

    rectangle.Fill = radialgradientbrush

     

     

    Thank you

    Don't forget to "Mark as Answer" if this post answered your question
    Life's good
    My Site
  • aspdotnetjunkie

    aspdotnetjunkie

    Member

    458 Points

    93 Posts

    Re: Dynamically Adding RadialGradientBrush

    Dec 19, 2007 05:52 PM | LINK

    Got it http://msdn2.microsoft.com/en-us/library/bb188574.aspx

    JavaScript
    // MouseEnter event handler for the Ellipse object.
    function onMouseEnter(sender, eventArgs)
    {
        // Set the Fill property of the Ellipse to the dynamically generated LinearGradientBrush.
    
        try
        {
        sender.fill = createLinearGradientBrush(sender.getHost());
        }
        catch(error)
        {
            alert(error.message);
        }
    }
    
    function createLinearGradientBrush(plugin)
    {
        // Define a XAML fragment.
        var xamlFragment = '<LinearGradientBrush>';
           xamlFragment +=   '<GradientStop Color="Yellow" Offset="0.0" />';
           xamlFragment +=   '<GradientStop Color="Orange" Offset="0.5" />';
           xamlFragment +=   '<GradientStop Color="Red" Offset="1.0" />';
           xamlFragment += '</LinearGradientBrush>';
    
        // Create the XAML fragment and return it.
        return plugin.content.createFromXaml(xamlFragment, false);
    }
    

    Don't forget to "Mark as Answer" if this post answered your question
    Life's good
    My Site