arquivos mensuais: Abril 2013

Fácil e rápida: Mover un rectángulo usando C # Nun Windows App Store

A miña filosofía xeral do blog é que é perfectamente posible blog sobre idade, asuntos que foron cubertos ata a morte noutro lugar establecido.  Eu supoño que este tema é un dos, pero eu estou Blog-lo de calquera maneira.

Eu estiven traballando nunha aplicación da fiestra da tenda e estou na parte en que eu que facer algunha animación.  Para este fin, Fun descubrir anacos de vidrieiras animación aplicación que, como se ve, é moi próximo, pero non exactamente como, XAML baseado en animacións. Net (Eu aínda estou volvendo a afrontar o feito de que WinRT <> .NET 🙂 ).

Esta mañá eu quería obter unha alza sobre as operacións de arrastrar e soltar.  En ruta para que, Quedei Atol mover un rectángulo no canto :).  Aquí está o código que move un rectángulo cando o usuario fai clic no botón:

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

O truco aquí é que eu non podo cambiar OffsetX Directa ou OffsetY.  Pode haber un xeito máis intelixente de facelo (e se sabe e sente como, por favor poste nos comentarios). 

Co fin de facer iso, Necesito:

1. Obter o MatrixTransform do rectángulo (por filtración RenderTransform).

2. Obter o Matrix dese cara.

3. Cambiar desprazamentos da matriz.

4. Redesignar a Matrix ao seu MatrixTransform.

5. Reatribuído o MatrixTransform volta ao Rectángulo.

Para probalo, Eu coloque un rectángulo e un botón na pantalla. Cando premo sobre o botón, A lóxica por encima executa e move o rectángulo Inmediatamente.

Nalgún momento, Pero gustaríame animar este eu non teño ningunha idea de como obter o DoubleAnimation para traballar con el (Storyboard.SetTargetProperty() é un misterio para min sobre iso de momento).

</final>

undefinedRexístrate para o meu blog.

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

Axustar a altura dos ListBoxItems Nun listbox programación para Windows App Store

I’m working on a windows store application and one of the things I want to do in the app is display a log that shows status messages and other informational tidbits as the user works things. Para este fin, Eu engade unha caixa de lista do seguinte xeito:

<Listbox x:Name ="GameStateLog" HorizontalAlignment ="Centro" Height ="221" VerticalAlignment ="Arriba" Width ="499" Padding ="0" FontSize ="10">

 

O código C # para cubrir o cadro de listaxe en tempo de execución foi ao longo das liñas de:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Novo estado do xogo: á espera de xogadores 1 nome");

This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. Isto ten sentido se eu queira que os usuarios finais para poder seleccionar estes elementos, pero non ten sentido cando eu só quero te amosar unha serie de mensaxes de log en execución - os usuarios non van seleccionar eses, just view them. Era estrañamente difícil atopar un xeito doado de facer, e, posiblemente,, the way I found it isn’t necessarily “easy” but I got it working OK. A clave da comprensión veu esta mensaxe aquí (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. No canto de engadir cordas para a colección de elementos na listbox, add ListBoxItems. Engadindo unha cadea, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. O novo código é:

        privado invalidar AddGameStateLogMessage(corda theMessage)
        {
            ListBoxItem que = novo ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Espesor thisPadding = novo Espesor(5, 0, 5, 0);
            li.Padding = thisPadding;

            GameStateLog.Items.Insert(0,li);
        }

 

Here I’m creating ListBoxItem’s and inserting them. Tirei o exceso de enchido, que define o seu grosor.

Iso é moi flexible como eu pretendo facer algúns códigos de cor para destacar certos tipos de mensaxes e engadindo directamente ListBoxItems comezar a estilo-do xeito que quero.

Espero que isto axude alguén!

</final>

undefinedRexístrate para o meu blog.

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