Rápido e fácil: Mover um retângulo usando c# em uma App Store do Windows

Minha filosofia geral do blog é que é perfeitamente possível blog velho, estabeleceu-se assuntos que foram cobertos até a morte em outro lugar.  Presumo que este tópico é um daqueles, Mas eu estou blogando-Enfim.

Tenho trabalhado em uma janela loja app e estou na parte onde eu preciso fazer alguma animação.  Para este fim., Estive pensando pedaços e pedaços do windows armazenam animação app que, como acontece, é bastante próximo ao, Mas não exatamente como, Animações XAML baseado em .NET (Ainda vou a lidar com o fato de que WinRT <> .NET 🙂 ).

Esta manhã eu queria obter uma alça sobre arrastar e soltar as operações.  No caminho para que, Eu tenho esbarrado movendo-se um retângulo em vez disso :).  Aqui está o código que move um retângulo quando o usuário clica em um botão:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Matriz m = ct.Matriz;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ATLMatriz = m;
   7:              rectBig.RenderTransform = ct;

O truque aqui é que não posso mudar diretamente OffsetX ou OffsetY.  Pode haver uma maneira mais inteligente de fazer isso (e se você conhece e me sinto como, por favor, poste nos comentários). 

Para fazer isso, Eu preciso:

1. Obter o MatrixTransform do retângulo (lançando RenderTransform).

2. Obter a matriz desse cara.

3. Alterar deslocamentos do Matrix.

4. Reatribuir a matriz para o MatrixTransform.

5. Reatribuir o MatrixTransform volta ao retângulo.

Para testá-lo, Eu coloquei um retângulo e botão na tela. Quando clico no botão, a lógica acima executa e move o retângulo imediatamente.

Em algum momento, Eu gostaria de animar isto, mas não faço ideia de como conseguir um DoubleAnimation para trabalhá-lo (Storyboard.SetTargetProperty() está sendo um mistério para mim sobre este para o tempo).

</fim>

undefinedSubscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Deixar uma resposta

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *