none
Menu Slide RRS feed

  • Pergunta

  • Saudações a todos.

    Estou tentando desenvolver o meu primeiro programa em WPF.

    Já tenho minhas classes e métodos e agora vou partir para o layout, mas é ai que complica.

    Minha idéia é fazer um menu estilo Slide, ao clicar no botão o Grid correspondente iria deslizar para exibição.

    Encontrei  aqui no fórum mesmo algo similar: 

    http://social.msdn.microsoft.com/Forums/pt-BR/wpfpt/thread/2ef9b683-97ab-4e92-9090-ed2499e480b1  

    A questão é que não entendi muito bem o código e nesse caso ele esconde ao invés de exibir.

    Alguém já fez algo do tipo?

    Agradeço desde já.


    Brian Souza - Análise e Desenvolvimento de Sistemas

    terça-feira, 7 de fevereiro de 2012 00:26

Respostas

  • Boa noite Brian,

    alterei o exemplo para que o Grid volte para o ponto inicial,  segue abaixo o codigo:

    XAML:

            <Grid x:Name="gridLogin" ShowGridLines="True" >
                <Grid.RenderTransform >
                    <TranslateTransform x:Name="translate" />
                </Grid.RenderTransform>
    
                <Grid.ColumnDefinitions>
    
                    <ColumnDefinition />
    
                </Grid.ColumnDefinitions>
    
                <TextBlock Text="teste" />
            </Grid>
    
            <StackPanel>
                <Button Content="clique para sumir" Width="100" Height="20" Click="Button_Click"></Button>
    
                <Button Content="clique para aparecer" Width="100" Height="20" Click="Button_Click_1"></Button>
            </StackPanel>
    

    Code Behind:

            private void Button_Click(object sender, RoutedEventArgs e)
            {
                var da = new DoubleAnimation(0, -ActualWidth, new Duration(TimeSpan.FromMilliseconds(1000)));
                translate.BeginAnimation(TranslateTransform.XProperty, da);
            }
    
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                var da = new DoubleAnimation(-ActualHeight, 0, new Duration(TimeSpan.FromMilliseconds(1000)));
                translate.BeginAnimation(TranslateTransform.XProperty, da);
    
            }
    

    Espero ter ajudado.

    Abraços,

    Daniel Benevides


    Daniel Benevides

    • Marcado como Resposta Brian Souza sexta-feira, 25 de maio de 2012 16:58
    terça-feira, 13 de março de 2012 21:38

Todas as Respostas

  • Você sabe usar trigger? 

    Sabe usar animação ?


    Artigos e Dicas VB.NET, C#, SQL, Report viewer e WPF
    Siga @PauloHDSousa

    quarta-feira, 8 de fevereiro de 2012 17:12
  • Na verdade eu quero saber como posso exibir a grid novamente, baseado no código do link que usei de exemplo.


    Brian Souza - Análise e Desenvolvimento de Sistemas

    quinta-feira, 9 de fevereiro de 2012 11:35
  • Boa noite Brian,

    alterei o exemplo para que o Grid volte para o ponto inicial,  segue abaixo o codigo:

    XAML:

            <Grid x:Name="gridLogin" ShowGridLines="True" >
                <Grid.RenderTransform >
                    <TranslateTransform x:Name="translate" />
                </Grid.RenderTransform>
    
                <Grid.ColumnDefinitions>
    
                    <ColumnDefinition />
    
                </Grid.ColumnDefinitions>
    
                <TextBlock Text="teste" />
            </Grid>
    
            <StackPanel>
                <Button Content="clique para sumir" Width="100" Height="20" Click="Button_Click"></Button>
    
                <Button Content="clique para aparecer" Width="100" Height="20" Click="Button_Click_1"></Button>
            </StackPanel>
    

    Code Behind:

            private void Button_Click(object sender, RoutedEventArgs e)
            {
                var da = new DoubleAnimation(0, -ActualWidth, new Duration(TimeSpan.FromMilliseconds(1000)));
                translate.BeginAnimation(TranslateTransform.XProperty, da);
            }
    
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                var da = new DoubleAnimation(-ActualHeight, 0, new Duration(TimeSpan.FromMilliseconds(1000)));
                translate.BeginAnimation(TranslateTransform.XProperty, da);
    
            }
    

    Espero ter ajudado.

    Abraços,

    Daniel Benevides


    Daniel Benevides

    • Marcado como Resposta Brian Souza sexta-feira, 25 de maio de 2012 16:58
    terça-feira, 13 de março de 2012 21:38