logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Dez 22

Artigos e Vídeos sobre Silverlight

Escrito por Flavia Moreira em 3d, Animação, Animações, Asp.Net, Blend, Blend 3, blog, blog silverlight, blogsilverlight, Botões, C#, Controles, CSharp, DataGrid, deep zoom, deepZoom, DoubleAnimationUsingKeyFrames, Expression Blend, FrameWork.Net, FullScreen, Javascript, Microsoft, player, silverlight, Silverlight 2, Silverlight 3, Silverlight 4, site, SplineDoubleKeyFrame, Tutoriais, Visual Studio, Visual Studio 2008, WCF, WPF @ 12 22nd, 2009 | via http://flamoreira.wordpress.com | Sem comentários
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Artigos e Vídeos Sobre Silverlight -

Artigos
Acesse todos estes tutoriais em http://www.dowhile.com.br – no menu artigos ou vídeos – Silverlight
1 Deep Zoom
2 Silverlight 4 Beta e seus recursos
3 Usando função JavaScript em Silverlight
4 Enviando e-mail com Silverlight – Parte II
5 Enviando e-mail com Silverlight – Parte I
6 Populando Datagrid usando LINQ TO SQL em Silverlight Parte II
7 Populando Datagrid usando LINQ TO SQL em Silverlight Parte I
8 Vídeo Player em Silverlight Visual Studio 2010 – Parte II
9 Primeira Aplicação em Silverlight Flávia Moreira
10 Vídeo Player em Silverlight – Visual Studio 2010 Parte I
11 Introdução ao Microsoft Blend 3
Vídeos
1 Data Grid em Silverlight 4 por Jesse Liberty
2 Acessando método C# pelo Javascript
3 Behavior Silverlight Administrator
4 Animação dinâmica em Silverlight
5 Vídeo aula- Aplicação em Silverlight

Nov 25

Animação dinâmica em Silverlight

Escrito por Flavia Moreira em Animação, Animações, Blend, Blend 3, blog, blog silverlight, blogsilverlight, C#, DoubleAnimationUsingKeyFrames, Expression Blend, Microsoft, Microsoft Blend, player, Silverlight 2, Silverlight 3, Silverlight 4, site, Tutoriais, Visual Studio, Visual Studio 2008 @ 11 25th, 2009 | via http://flamoreira.wordpress.com | Sem comentários
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Nesta vídeo aula de Dowhile.com.br você irá aprender a criar uma animação estática e dinâmica em Silverlight 4, utilizando o Microsoft Blend 4 e Visual Studio 2010 Beta 2, porém você poderá aplicar os mesmos conceitos utilizando o Silverlight 3 com o Blend 3 e Visual Studio 2008.

Segue o Link

Animação dinâmica

 

Abraços e bom divertimento,

Flávia Moreira

Mar 10

Carregando Dll de um Usercontrol dinamicamente

Escrito por Flavia Moreira em Animação, Animações, Asp.Net, Blend, blog, blog silverlight, blogsilverlight, C#, Carregando Dll, Class Library, Controles, dll, DoubleAnimationUsingKeyFrames, Expression Blend, Microsoft, Microsoft Blend, silverlight, Silverlight 2, Tutoriais, Usercontrol dinamicamente, using System.Reflection, Visual Studio, Visual Studio 2008, WebClient @ 03 10th, 2009 | via http://flamoreira.wordpress.com | Sem comentários
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Neste artigo será mostrado como carregar uma dll de usercontrol dinamicamente em Silverlight. Pois bem, o motivo que me inspirou a fazer este exemplo foi um amigo meu do MSN que insistiu para ajudá-lo a carregar animações dinâmicas vindo externamente. Além disso, percebi um big fator, às vezes podemos ter uma aplicação grande, e como sabemos, o Silverlight cria o arquivo XAP, que é um Zip disfarçado, e fazemos o download deste santo arquivo. Neste ponto, você pode imaginar que, se seu arquivo Xap for grande o usuário irá ficar extremamente zangado e desistir de ver sua aplicação, não é mesmo?. Então o que devemos fazer ?

                Simplesmente devemos é quebrar nossa aplicação em partes, ou seja, criar class Library e usar algumas classes importantes para isso.  Vamos ver então:

 

Passo 1.

 

                Crie uma class Library, indo em VS: File -> New->Project. Em Project types escolha silverlight e em Templates Silverlight Class Library. Forneça um nome, tal como: Bola e pressione ok.

                Na solution Explorer, botão direito e adicione um novo item, selecione Silverlight User Control, forneça o nome de Bola.Xaml  e pressione Ok.   

                Para este demo eu criei uma animação, e chamei no meu construtor, como segue:

 

 

 

 

<UserControl x:Class=”Bola.Bola”

    xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”

    xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”

    Width=”400″ Height=”300″>

                <UserControl.Resources>

                               <Storyboard x:Name=”SbBola”>

                                               <DoubleAnimationUsingKeyFrames BeginTime=”00:00:00“ Storyboard.TargetName=”ellipse” Storyboard.TargetProperty=”(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)”>

                                                               <SplineDoubleKeyFrame KeyTime=”00:00:01.2000000″ Value=”64″/>

                                               </DoubleAnimationUsingKeyFrames>

                                               <DoubleAnimationUsingKeyFrames BeginTime=”00:00:00“ Storyboard.TargetName=”ellipse” Storyboard.TargetProperty=”(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)”>

                                                               <SplineDoubleKeyFrame KeyTime=”00:00:01.2000000″ Value=”160″/>

                                               </DoubleAnimationUsingKeyFrames>

                               </Storyboard>

                </UserControl.Resources>

    <Grid x:Name=”LayoutRoot” Background=”White”>

                <Ellipse Height=”80″ HorizontalAlignment=”Left” Margin=”24,48,0,0″ VerticalAlignment=”Top” Width=”80″ Fill=”#FF9B2B2B” Stroke=”#FF000000″ RenderTransformOrigin=”0.5,0.5″ x:Name=”ellipse”>

                               <Ellipse.RenderTransform>

                                               <TransformGroup>

                                                               <ScaleTransform/>

                                                               <SkewTransform/>

                                                               <RotateTransform/>

                                                               <TranslateTransform/>

                                               </TransformGroup>

                               </Ellipse.RenderTransform>

                </Ellipse>

 

    </Grid>

</UserControl>

 

Na parte do CodeBehind :

namespace Bola

{

    public partial class Bola : UserControl

    {

        public Bola()

        {

            InitializeComponent();

            SbBola.Begin();

        }

    }

}

 

Bem até ai nada demais. 

 

Agora compile para gerar a dll.

 

Passo 2

Agora, o que precisamos fazer é criar um projeto Silverlight e adicionar a dll, tal como “Bola.dll” dentro da Aplicação Asp.Net, conforme Figura 1. Eu forneci o nome para o meu projeto de LoadAnimation. 

 

Passo 3

 

 

O código seguinte mostra como carregar e mostrar o controle silverlight, ou seja, a dll.

           

Algumas explicações do código:

 

  • Adicione o seguinte namespace, using System.Reflection, que irá permitir pegar o Assembly do objeto.
  • Usar WebClient  para abrir uma leitura assíncrona da dll.
  • Pegar o caminho absoluto da dll.
  • Quando o download é terminado, o assembly é carregado e uma instancia do controle é criada.
  • Finalmente, é adicionado dentro do Layoutroot.

[Code] 

 namespace LoadAnimation

{

    public partial class Page : UserControl

    {

       

        //assembly para ler a dll

 

        private Assembly _assembly;

        public Page()

        {

            InitializeComponent();

            Load();

        }

 

        private void Load()

        {

            //puxar o arquivo da Aplicacao Asp.Net, precisa ser assincrono

 

            WebClient down = new WebClient();

            down.OpenReadCompleted += new OpenReadCompletedEventHandler(download_OpenReadCompleted);

            string classe = “Bola.dll”;

            string absoluteUri = System.Windows.Application.Current.Host.Source.AbsoluteUri;

            string caminho = absoluteUri.Substring(0, absoluteUri.IndexOf(“ClientBin”)) + classe;

 

            //assincrono

            down.OpenReadAsync(new Uri(caminho, UriKind.Absolute));

        }

 

        //Ao terminar de ler é carregada na aplicacao

        void download_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)

        {

            AssemblyPart assemblyPart = new AssemblyPart();

            _assembly = assemblyPart.Load(e.Result);

         

            //Bola.Bola, esta é minha classe

            UserControl control = (UserControl)_assembly.CreateInstance(“Bola.Bola”);

     

            LayoutRoot.Children.Add(control);

        

        }

    }

}

 

 

 

 

Muito obrigada,

Flávia Moreira

 

 

 

Mar 2

Silverlight – Acessando métodos em C# pelo javascript

Escrito por Flavia Moreira em Animações, Asp.Net, Blend, blog, blog silverlight, blogsilverlight, C#, DoubleAnimationUsingKeyFrames, Expression Blend, Javascript, Microsoft, Microsoft Blend, silverlight, Silverlight 2, site, Tutoriais, Visual Studio, Visual Studio 2008 @ 03 2nd, 2009 | via http://flamoreira.wordpress.com | Sem comentários
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

 

Silverlight - Acessando métodos em C# pelo javascript

 

Neste artigo, será mostrado como acessar um método em C# pelo javascript.  Inicie um projeto em Silverlight, e crie uma simples animação, como o código da Tabela 1.

 

<UserControl.Resources>

                        <Storyboard x:Name=”SbTranslacao”>

                                   <DoubleAnimationUsingKeyFrames BeginTime=”00:00:00“ Storyboard.TargetName=”ellipse” Storyboard.TargetProperty=”(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)”>

                                               <SplineDoubleKeyFrame KeyTime=”00:00:02“ Value=”152″/>

                                   </DoubleAnimationUsingKeyFrames>

                        </Storyboard>

            </UserControl.Resources>

Tabela 1  – Animação de Translação no eixo X de 2 segundos

Feito a animação adicione o namespace.

Using System.Windows.Browser;

 O próximo passo é adicionar dentro do construtor da classe Page, o seguinte código:

 HtmlPage.RegisterScriptableObject(”Page”, this);

Isso apenas cria um objeto (DOM), o qual permite conversar com o Javascript porém não é só isso.  Crie agora um método e adicione sobre o método um  ScriptableMember,  o qual indica que este método está acessível para ser chamado por uma função em Javascript, veja o código da Tabela 2, como deverá ficar o método para executar nossa animação por uma função em javascript. 

 

[ScriptableMember]

        public void GetAnimacao()

        {

            SbTranslacao.Begin();

        }

  Tabela 2  – ScriptableMember

Agora crie uma função em Javascript, onde SilverlightControl é o plugin do Silverlight, ou seja o Id do OBJETO, que pode estar dentro da sua page em Html, ou na sua pagina Aspx. A tabela 3, Mostra a construção da função em Javascript 

 

 

function

GetMetodo() { 

 

);slPlugin.Content.Page.GetAnimacao();

}

OBSERVAÇÃO

Em HTML

 

<object id=”SilverlightControl” data=”data:application/x-silverlight-2,” type=”application/x-silverlight-2″ width=”100%” height=”100%”>

 

<param name=”source” value=”ClientBin/Script.xap”/>

 

<param name=”onerror” value=”onSilverlightError” />

 

<param name=”background” value=”white” />

 

<param name=”minRuntimeVersion” value=”2.0.31005.0″ />

 

<param name=”autoUpgrade” value=”true” />

 

<a href=”http://go.microsoft.com/fwlink/?LinkID=124807″ style=”text-decoration: none;“>

 

<img src=”http://go.microsoft.com/fwlink/?LinkId=108181″ alt=”Get Microsoft Silverlight” style=”border-style: none”/>

 

</a>

 

</object>

 

ou em Aspx

 

<asp:ScriptManager ID=”ScriptManager1″ runat=”server”></asp:ScriptManager>

 

<div style=”height:100%;“>

 

<asp:Silverlight ID=”SilverlightControl” runat=”server” Source=”~/ClientBin/Script.xap” MinimumVersion=”2.0.31005.0″ Width=”100%” Height=”100%” />

 

</div>

var slPlugin = document.getElementById(“SilverlightControl”

  Tabela 3  – Função Javascript

 Agora, só resta chamar a função do Javascript, para isso eu adicionei um botão e usei o método Onclick e executar a aplicação. A Tabela 4 mostra  o código

 

<input id=”Button1″ type=”button” value=”button” onclick=”GetMetodo()”/></div>

  Tabela 4  – Botão e método OnClick

 Abraços,

Flávia Moreira

 

 

 

Fev 20

Animação dinâmica para menu com imagens em Silverlight 2.

Escrito por Flavia Moreira em Animação, Animações, Asp.Net, Blend, blog silverlight, blogsilverlight, C#, DoubleAnimationUsingKeyFrames, Estilo, Expression Blend, Microsoft, Microsoft Blend, mouseleftbutton, silverlight, Silverlight 2, SplineDoubleKeyFrame, Storyboard, Tutoriais, Visual Studio, Visual Studio 2008 @ 02 20th, 2009 | via http://flamoreira.wordpress.com | 1 comentário
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Neste artigo será mostrado como criar animação dinâmica para um simples menu com imagens, porém não é o objetivo deste artigo mostrar a criação do design, apenas será mostrado a codificação para criar a animação dinâmica do menu. Esta animação consiste apenas em usar o fator de escala para as imagens, ou seja, quando o mouse estiver sobre a imagem, o fator de escala será mudado e quando o mouse não estiver sobre a imagem, o fator de escala volta para seu estado inicial.  

A Figura 1.0, mostra o menu com as imagens.

Figura 1.0

Figura 1.0

 Inicie um projeto no Microsoft Blend 2 ou no Visual Studio 2008.  Adicione algumas imagens no seu projeto e adicione o controle do tipo IMAGE e seta as propriedades: Name, Height, Width, Source  e em Transform, mude a escala, deixe da forma desejada.

Obs: Você deverá deixar a propriedade Transform setada no código, ou irá dar um erro.  Segue o Exemplo, de como deverá ficar  o controle IMAGE na parte do Xaml:

 

 <Image Height=”38″ Width=”38″ Source=”icoHome1.png” Stretch=”Fill” Canvas.Top=”8″ Canvas.Left=”72″ RenderTransformOrigin=”0.5,0.5″ x:Name=”imgHome”>

<Image.RenderTransform>

 <TransformGroup>

<ScaleTransform ScaleX=”1″ ScaleY=”1″/>

<SkewTransform/>

<RotateTransform/>

<TranslateTransform/>

</TransformGroup>

</Image.RenderTransform>

</Image>

 

Eu adicionei 4 imagens em 3D do tipo png .

 

Com todas as suas imagens devidamente configuradas, na parte do codeBehind, iremos adicionar a declaração dos eventos do controle Image  dentro do construtor da classe  page.xaml.cs, Exemplo: 

 

  public ucMenuPrincipal()

                               {

                                               // Required to initialize variables

                                               InitializeComponent();

            SbAnimacaoDowhile();

 

            imgHome.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

            imgContato.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

            imgNewsLetter.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

            imgVideos.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

 

            imgHome.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            imgContato.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            imgNewsLetter.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            imgVideos.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            }

 

Repare que os eventos MouseEnter de todos os controles usam o mesmo método, o mesmo processo acontece para o MouseLeave.  

 Animação dinâmica:

Crie os objetos:

 private bool _flagMenu = false;  

SplineDoubleKeyFrame _splineIn; 

SplineDoubleKeyFrame _splineOut;

 

 Depois, o primeiro passo é criar  um método para o DoubleAnimationUsingKeyFrames.

 

Note no método que está sendo passado dois parâmetros: O primeiro passa qual objeto irá sofrer a animação, neste caso, o Controle do Tipo Image, e  o segundo qual propriedade será executada, ou seja a escala. 

    public DoubleAnimationUsingKeyFrames GetAnimacao(DependencyObject img, string propertyPath)

        {

          

            DoubleAnimationUsingKeyFrames _dbAnimation = new DoubleAnimationUsingKeyFrames();

            _dbAnimation.BeginTime = TimeSpan.FromSeconds(0);

         

            _splineIn = new SplineDoubleKeyFrame();

            _splineOut = new SplineDoubleKeyFrame();

            _splineIn.KeyTime = TimeSpan.FromSeconds(0.4);

            _splineOut.KeyTime = TimeSpan.FromSeconds(0.4);

 

                if (!_flagMenu)

                {

                _splineIn.Value = 1.5;

                _dbAnimation.KeyFrames.Add(_splineIn);

                 }

                else

                {

                    _splineOut.Value = 1;

                    _dbAnimation.KeyFrames.Add(_splineOut);

                }

 

         

            Storyboard.SetTarget(_dbAnimation, img);

            Storyboard.SetTargetProperty(_dbAnimation, new PropertyPath(propertyPath, new object[0]));

 

            return _dbAnimation;

        }

 

Ciando a Storyboard

   

public void CriaAnimacao(DependencyObject image)

        {

            Storyboard _SbMenu = new Storyboard();

          

            DoubleAnimationUsingKeyFrames scaleX = GetAnimacao(image, “(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)”);

            DoubleAnimationUsingKeyFrames scaleY = GetAnimacao(image, “(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)”);

            _SbMenu.Children.Add(scaleX);

            _SbMenu.Children.Add(scaleY);

            _SbMenu.Begin();

 

        }

 

Os eventos

private void imagem_MouseEnter(object sender, MouseEventArgs e)

        {

          

            CriaAnimacao((Image)sender);

            _flagMenu = true;

        }

 

        void imagem_MouseLeave(object sender, MouseEventArgs e)

        {

 

            CriaAnimacao((Image)sender);

            _flagMenu = false;

        }

 

 

Abraços

Flávia Moreira 

 

 

 

 

 

 

|

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2756 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com