Facile et rapide: Déplacer un Rectangle en utilisant c# dans une appli Windows Store

Ma philosophie globale de blog, c'est qu'il est parfaitement bien pour blog sur les vieux, réglé des sujets qui ont été couverts à mort ailleurs.  Je suppose que ce sujet est un de ces, mais je suis blogging il toute façon.

J'ai travaillé sur un app store de fenêtre, et je suis à la partie où je dois faire une animation.  À cette fin, J'ai été figurant des bouts et de stockent des morceaux de windows animation app qui, Il s'avère que, est assez proche de, mais pas exactement comme, Animations de XAML basé dans .NET (Je suis encore à venir à bout avec le fait que WinRT <> .NET 🙂 ).

Ce matin j'ai voulu obtenir une poignée sur le glisser et déposer des opérations.  En route vers qui, Je me suis embourbé déplacer un rectangle à la place :).  Voici le code qui déplace un rectangle lorsque l'utilisateur clique sur un bouton:

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

L'astuce ici est que je ne peux pas changer directement OffsetX ou OffsetY.  Il peut y avoir un moyen plus astucieux de le faire (et si vous connaissez et que vous sentez comme, Merci de poster dans les commentaires). 

Pour ce faire, J'ai besoin de:

1. Obtenez le MatrixTransform du rectangle (en effectuant un cast RenderTransform).

2. Récupère la matrice de ce gars.

3. Changer les décalages de la matrice.

4. Réaffecter la matrice à MatrixTransform.

5. Réaffecter le MatrixTransform retour au Rectangle.

Pour le tester, J'ai mis un rectangle et bouton à l'écran. Lorsque je clique sur le bouton, la logique ci-dessus s'exécute et déplace le rectangle immédiatement.

À un certain moment, J'aimerais animer cela mais je n'ai aucune idée de comment obtenir une DoubleAnimation pour travailler dessus (Storyboard.SetTargetProperty() fait d'être un mystère pour moi là-dessus pour le moment).

</fin>

undefinedS'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Paramètre la hauteur de ListboxItems dans une zone de liste par programme pour App Store de Windows

Je travaille sur une application de windows store et une des choses que je veux faire dans le soft est un journal qui affiche les messages d'État et autres bribes d'information que l'utilisateur travaille choses d'affichage. À cette fin, J'ai ajouté un ListBox comme suit:

<ListBox x:Nom ="GameStateLog" HorizontalAlignment ="Centre" Hauteur ="221" VerticalAlignment ="Retour au début" Largeur ="499" Rembourrage ="0" FontSize ="10">

 

Le code c# pour remplir la zone de liste lors de l'exécution a été le long des lignes de:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Nouveau jeu de l'État: attente pour joueur 1 nom");

Cela a fonctionné très bien, assez, mais l'interface utilisateur a montré une quantité folle de rembourrage autour des messages individuels, ils ont été ajoutés. C'est logique, si je veux des utilisateurs finaux pour pouvoir sélectionner ces éléments, mais ne fait pas de sens quand je veux juste montrer une série de messages du journal-les utilisateurs ne sélectionnent ces, Tout afficher. Il était étrangement difficile de trouver un moyen facile de le faire et sans doute, la façon dont je l'ai trouvé n'est pas nécessairement « facile », mais j'ai eu fonctionne OK. L'idée clée provenait de cette annonce ici (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) de Bob Relyea. Au lieu d'ajouter des chaînes à la collection d'éléments dans ListBox, Ajouter ListBoxItems. En ajoutant une chaîne, la zone de liste créait sa propre ListBoxItem sur ses propres. Je n'étais pas en mesure d'affecter quelque chose que ListBoxItem après coup. Le nouveau code est:

        privé VOID AddGameStateLogMessage(chaîne Lemessage)
        {
            ListBoxItem li = Nouveau ListBoxItem();
            Li.Content = lemessage;
            Li.MaxHeight = 25;

            Épaisseur thisPadding = Nouveau Épaisseur(5, 0, 5, 0);
            Li.Rembourrage = thisPadding;

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

 

Ici je suis la création de ListBoxItem et en les insérant. J'ai enlevé le rembourrage excès en définissant son épaisseur.

C'est assez souple car je ne veux pas faire quelque codage en couleurs pour mettre en évidence certains types de messages et en ajoutant directement ListBoxItems, j'arrive à leur style tout comme je le veux.

Espérons que cela aide quelqu'un!

</fin>

undefinedS'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Facile et rapide – Noms de coffre-fort file d'attente d'Azur

Post idiot mais simple.

Comme suite à l'annonce d'hier sur"StorageException a pas été gérée"Je pensais que je voudrais montrer le tout petit extrait de code que j'ai utiliser pour générer les noms de file d'attente:

 

        public statique chaîne GetRandomQueueName()
        {
            GUID g;
            g = System.Guid.NewGuid();
            retour g.ToString();

        } 

Sorte de ridicule dans sa simplicité, mais fonctionne bien pour moi et a généré des centaines de noms de file d'attente sans danger dans les deux dernières semaines.

</fin>

undefinedS'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Travail avec des files d'attente d'Azur – "StorageException was unhandled”

J'ai été jouer avec des files d'attente d'Azur pendant la dernière semaine ou deux et il s'est passé génial.  Où étaient ces choses lorsque j'en avais besoin de retour dans 1990?

Cet article, en particulier, est une excellente introduction aux files d'attente pour les programmeurs .NET: http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/.  À l'aide de cet article, J'ai été capable de rassembler un peu vraiment sympa de la logique client-serveur qui est jusqu'ici fiable et marche avec aucune douleur.  Vraiment-où était dans ce genre de choses 1990?

J'ai frapper un petit obstacle dès la sortie de la porte, Cependant.   Dès que j'ai dévié de la spécificité de la procédure, J'ai été frappé avec une StorageException et un "le serveur distant serveur renvoyé une erreur (400) Demande incorrecte.

image

Il s'est avéré que mon nom de la file d'attente était éteint:

image

Quand j'ai changé de « OneQueueToRuleThemAll » à « onequeuetorulethemall » la StorageException a disparu.  Je n'ai pas remarqué aucun des documents cela crier mais il peut bien faire.

Espoir qui aide quelqu'un.

</fin>

undefinedS'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Premières Impressions sur la Surface Pro

[Mise à jour 3/26: J'ai obtenu un tweet de la @Surface de personnes demandant si ils pouvaient m'aider avec quoi que ce soit, J'ai donc fait une fiche pour Swype, laquelle ils ont reconnu avec un "intéressant – Merci pour les commentaires, Paul!”  Je pense vraiment que Swype rendrait ce dispositif beaucoup plus facile à utiliser pour la productivité occasionnelle.  (Aussi, correction d'une faute de frappe m'a fait remarquer par un vieil ami – Merci, Mike!)]

Mon bureau a remporté un concours plus tôt cette année, avec une petite bourse attachée à elle.  J'ai utilisé l'argent pour subventionner l'achat d'une Surface Pro (128GB avec le régime d'assurance de 2 ans) et je me sers beaucoup depuis lors.  Je l'ai acheté sur le Store de Microsoft au centre commercial de Columbus Circle, à Manhattan.  Prix total était d'environ $1300 USD with the better keyboard and the sucker’s insurance 🙂

Je l'ai seulement eu 4 Il y a jours et déjà j'ai pouvons difficilement imaginer ne pas l'avoir.  J'ai apporté au lit pour lire l'excellent pour autant Programmation Windows 8 Applications avec HTML, CSS, et JavaScript et c'était la première chose que j'ai atteint pour quand je me suis réveillé.

Voici quelques impressions, sans ordre particulier:

Comment toucher: J'ai envie de le toucher chaque écran que je vois maintenant.

Windows 8 est pour les dispositifs de contact: J'ai une beaucoup plus forte appréciation pour Windows 8.  Cet o/s traduit beaucoup mieux à un périphérique tactile qu'il fait un clavier.  Dans un premier temps, Je ne savais pas comment commencer à peine, mais il est rapidement devenu une seconde nature pour moi. Et c'est très rapide et réactif, Si vous ne sentez pas comme vous êtes à la traîne autour ou payer une pénalité pour une erreur.  Je ne suis pas un expert de l'interface utilisateur (choses de mystère encore arriver) mais je m'envole tout autour de la place avec une bonne dose de confiance après une relativement petite poignée d'heures là-dessus

En même temps, maintenant que je me sers de touch, J'ai une bien meilleure compréhension de l'o/s dans une perspective d'ordinateur portable Dell.  Le tapis de souris sur mon E6430 n'est pas concurrencer des points multiples de la Surface de contact, etc.., mais il fait un bon travail avec certains des gestes.  Mais quel que soit le tapis de souris, Après avoir travaillé avec la surface maintenant, Je sais ce qui se passe lorsque j'ai déplacer le curseur de ma souris et divers indices petit pop-up dans les coins et autres.

Je tiens également à signaler une ligne de ce blog par Brandon Carson:

Microsoft arrive avec une perspective différente de la façon dont un système d'exploitation devrait soutenir ses utilisateurs. Au lieu de deux systèmes d'exploitation et une fragmentation entre les dispositifs, Microsoft génère un nouvel OS pour mélanger l'expérience lean-back avec l'expérience de bureau et de donner à l'utilisateur un contrôle sur la façon d'interagir avec leur appareil."

Cette ligne s'est cristallisée pour moi le point entier de Win8 comme un o/s.  C'est un iPad et il est portable.  J'aime ça.  J'aime ça beaucoup.  Je n'apportez pas mon portable au lit très souvent et quand je fais, C'est une nouveauté et une douleur.  Cette chose peut aller partout avec moi, y compris le travail.

Le magasin de windows est génial!  J'ai juste supposé que, Quand j'ai acheté la Surface, que l'app store de windows serait une complète perte de temps, une terre aride et déchets de demi-teinte apps s'accrochant au sol rocailleux, triste et pathétique.  Je pense que divers peuples anti-Microsoft sont en train de gagner le cœurs et les esprits argument ici.  Bien qu'il soit empiriquement vrai que Apple et Google ont bazillions apps plus dans leurs magasins, nanisme MSFT, MSFT a toujours un bon choix et il est de plus en plus.   Mon point n'est pas que le magasin de MSFT est « mieux » que celles, mais qu'il n'est pas aussi mauvais que l'intertubes vous fera réfléchir.  Donnez-lui un coup d'oeil. Il existe de nombreuses applications intéressantes là-bas.

Stylo est génial!: J'ai voulu la capacité d'écrire et de dessiner les diagrammes d'architecture pour toujours.  Toutes les choses de parti 3e toujours sentiment kludgy sauf si vous avez acheté un qui était cher et j'en ai juste n'a pas envie.  Avec la surface, Il est totalement naturel et rapide, de plus, beaucoup d'applications intéressantes disponibles.  Il s'agit de paint.net, quelque chose d'intéressant de Evernote (Skitch), OneNote (qui a le soutien de première classe pour le pen), PowerPoint (permet d'annoter et de dessin pendant les présentations).  J'ai à peine gratté la surface ici et je suis amoureuse.  Découvrez ce post de blog pour un avis professionnel plus sur combien de Surface peut être utilisé pour l'art de force plus industrielle.  Je ne peux pas attendre pour ma prochaine démo PPT.

Il joue Civ5! (avec l'aide de quelques amis):  Civ with touch is really neat 🙂

Certains désagréments:

  • Batterie n'est pas grand.  Pas mieux que mon ordinateur portable.  J'ai cette notion vague que les piles doivent être « conditionnés » (mais c'est sans doute absurde) donc, si c'est le cas, Il peut s'améliorer.
  • Clavier est minuscule.  Mais, J'ai été s'habituer à elle.
  • Aucun Swype! J'ai juste commencé à utiliser Swype quelques mois il y a sur ma course Galaxy S3 Android et je ne peux pas croire comment productif il m'a fait.  Ne pas avoir cela sur Win8 est vraiment frustrant et il semble que ce sera une longue période, Si jamais, avant que Swype est disponible.  Certains autres tierces parties sont travaillent mais mon 30 la valeur de secondes de recherche implique que l'o/s juste ne le supporte pas.  (Si vous n'utilisez pas Swype ou un de ses cousins, vous devriez arrêter de lire ce blog et faire un essai; ce poste sera presque certainement encore ici une fois que vous obtenez en retour).
  • Facteur de forme globale – encore à m'habituer à elle.  C'est un écran magnifique et Netflix est grande à ce sujet.  Navigation sur le Web est grande sur elle. Mais, MS Word – genre de dur et pas très facile à toucher (Pour moi, pour l'instant).  J'ai vu des captures d'écran des gens à l'aide de visual studio sur elle – qui ressemble à un étirement.  Mais je vais faire un essai à un moment donné.

Si, là vous allez!  Espérons que cela aide quelqu'un penser à ce sujet.  Il est trop tôt pour moi de dire "Achetez-le!”.  Je vais revenir sur ce post en une semaine ou deux et suivi.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Un exercice génial inopinément Team Building

J'ai convoqué une réunion équipe ici pour l'équipe SharePoint de New York et à la dernière minute, sans raison particulière, ajouté un nouveau point de l'ordre du jour:

Échange d'informations personnelles: Je ne veux pas tirer vers le haut de la terre de google et de chacun d'entre nous dira l'équipe où nous sommes nés et où nous vivons aujourd'hui. Je vais le mapper en temps réel. Nous ferons également un rapide aperçu de nos familles respectives. N'hésitez pas à créer une famille fantastique ici mais gardez à l'esprit qu'une fois vous commencez à mentir au sujet de la famille, vous devez créer des mensonges successivement élaborés et il est probable que déclencher vers le haut à un moment donné, alors soyez prêt pour cela.

J'ai pensé que cela prendrait 20 minutes, ou alors faire avec neuf personnes.  Au lieu de cela, Il a fallu 90 minutes Sourire, principalement parce que les gens a passé des quantités significatives de temps à différents endroits dans le monde entier.  C'est un exercice fascinant et nous avons sûrement beaucoup appris sur l'autre.  J'ai appris, Enfin, ce que les gens dire par « Nord » et « Sud » en Inde.

Si vous pouvez trouver le temps dans ce bien remplie et mouvementée jours de faire quelque chose comme il, Je le recommande vivement.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Pratiquer des activités de suivi – Partie 1

Il ya un an, J'ai rejoint Consultation de slalom ici, à new York, comme ce que nous appelons une zone de pratique conduire.  (Comme un mineur de côté jusqu'au point de ce blog post, Cela change en emplois comptes mon dépôt total dans les blogs.  C'est un grand changement de rôles et un grand changement dans au jour le jour « trucs » mais j'ai quelque sorte acclimatés moi-même à elle et à l'air avant d'écrire à nouveau Sourire ).

Dans ce rôle PAL, Je suis responsable pour sauver l'entreprise et les environs immédiats de 21 Ouest 21 st street du désastre sur une base régulière.  Il y a beaucoup de pression (tous les enfants plus que vous pourraient le penser – il suffit de penser!). 

En service à cet impératif, J'ai besoin de dépanner avec avant-vente, créer et mettre à jour les offres de go-to-market, bonnes gens de voitures, former des gens pour les rendre mieux (mais vraiment, pour rendre mon travail plus facile) et occasionnellement faire quelque chose de facturable à un client.  Je reçois beaucoup de « entrée » – aux questions des clients, opportunités de vente, mes propres pensées pourris et ainsi de suite.  Certaines d'entre elles est vraiment bon (comme un oppty vente chaude) tandis que beaucoup d'elle est moins bonne.  La clé est d'abord suivre, prioriser et gérer chacun de ces idées (grands et petits) à une conclusion heureuse. 

Ce type de gestion des tâches n'est pas nouveau, droit?  Et nous avons beaucoup d'outils de travail pour nous aider avec ceci.  Outlook a des tâches.  Vous pouvez frapper une feuille de calcul ensemble agréable et rapide.  Mon tout premier outil de gestion de tâche est un bloc-notes juridique en mes jours à GAF en tant que développeur dans le service informatique.  (Me poser sur ces bons vieux jours la prochaine fois que vous me voyez si vous êtes intéressé, ou peut-être pas…).

Étant un gars de SharePoint (nominalement, au moins), J'ai toujours pensé d'utiliser SharePoint.  Mais pour une raison quelconque, une liste de tâches générique fait jamais tout à fait pour moi.  Un tas de mois passés, J'ai décidé de me guérir et il suffit de créer une solution SharePoint de base.  Il était si embarrassant facile à créer que j'ai pensé à écrire à ce sujet ici.

Si, ici, mes objectifs étaient très simples:

  • Saisie de données rapide et super facile
  • Prioriser les activités
  • Classer les activités
  • « prochaine étape » conduit – ces activités seront étendent souvent semaines (peut-être même des mois).  Ils « finissent » presque jamais après une mise à jour spécifique.

Ces morceaux se prête très bien à un type de contenu, Voilà donc ce que j'ai créé:

image

Vous pouvez voir que j'avais un biais vente avec cela au début, depuis que j'ai ce champ « Client ».  Beaucoup d'activités de ma pratique sont basés autour de clients (soit effective ou prévue).  Mais beaucoup d'entre eux sont concentrent également en interne.  Je tape « Slalom » là-dedans quand je crée les, mais il se sent toujours un peu bizarre.  Je devrais avoir nommé quelque chose de plus générique.  Peut-être « organisation cible » ou quelque chose.

Voici quelques notes diverses sur le type de contenu:

  • Impact de l'activité a dégénéré en une mesure prioritaire.  Je ne sais pas pourquoi je suis allé avec « Impact » et pas « prioritaire » jour zéro, mais c'est ce que je faisais. 
  • Prochaines étapes et prochaines étapes Date – j'ai un tableau de bord qui est dépend de la date de l'activité suivante.  Ce tableau de bord est quelque sorte devenu mes ordres pour la journée/semaine.  J'ai juste aller au tableau de bord et se concentrer d'abord sur des trucs de haute priorité et partir de là.  (Il y a la notion d'un « sans étiquette »
  • Propriétaire principal : la seule chose de note est – n'est-il pas génial que vous pouvez trier et filtrer sur sélections plusieurs colonnes en SP 2010! En fait, je n'a pas acheté entièrement dans cette notion dans un premier temps.
  • Statut de l'activité – vraiment juste « Open » ou « Fermé ». 
  • Primaire pratique – après j'ai commencé à utiliser ce, un autre PAL dans mon groupe voulait essayer cela, alors je me suis glissé ceci dans le mélange de distinguer mes trucs (Portails & Collaboration) et ses trucs (Azure).

Voici mon tableau de bord:

image

(Désolé pour tous les bits floues out – je n'a pas envie de créer un groupe de données de test et je ne veux pas donner à quiconque une crise cardiaque sur le partage des détails essentiels [Voir le foret dans l'intro de re: sauver le monde, etc.., etc.., etc..]).

J'ai plusieurs autres points de vue sur cette liste, y compris un mode feuille de données qui me permet de faire des mises à jour de masse.  Je le fais plus souvent quand un tas de priorité inférieure points que j'ai prévu de faire un jamais tout à fait a été faits et ont besoin d'être poussé par semaine.

Tous les jours, J'ai tirer vers le haut de mon journal des activités et à commencer à travailler sur le dessus de la liste.

Dans la partie 2, Je vais vous expliquer comment j'ai fait c'est encore plus utile avec l'ajout d'une bibliothèque de gentil courriel à extension doc et le workflow SPD.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Consultation de slalom–Boston SharePoint Leadership nécessaire

J'ai rejoint Slalom consulting le jour il y a six mois et il a été un voyage incroyable.  Je prévois de blog encore plus que maintenant que je commence à se sentir assez solide.  Ici, c'est comme vivre dans un conte de fée, la plupart du temps.  Gens intelligents, clients intéressants, solide appui de gestion locale et entreprise … la libation occasionnelle … good stuff.

Notre bureau de Boston vient d'ouvrir et ils recherchent un chef de file pour le lancement de leur pratique de SharePoint.  C'est un très complexe, défis de plein emploi avec beaucoup de plaisir.  Vous définissez des offrandes d'intérêt pour le marché local, vous retrousser vos manches et faire le vrai travail et vous embauchez des gens pour construire la meilleure équipe, que vous pouvez gérer.  Je ne peux pas il recommande fortement assez.

Si vous êtes intéressé par ce poste ou si vous connaissez quelqu'un qui pourrait être intéressé par, Veuillez tirer au large un email me: Paul.Galvin@slalom.com.

Je suis heureux de partager mon expérience avec franchise (bonne et mauvaise) ici à New York.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Mon livre de flux de travail est disponible à l'achat

J'ai commencé à parler avec mes co-auteurs originales il y a plus de deux ans.  Ils ont finalement abandonné le projet, mais vers la fin de cet été, avec l'aide de plusieurs coauteurs nouveau, J'ai enfin pu faire la ligne d'arrivée. 

Professionnel Workflow dans SharePoint 2010: Real World Business Solutions Hit Amazon et Barnes et Noble site web quelque temps dans la dernière 10 jours.  Il est disponible en livre de poche et Kindle et le Nook et que tous, juste à temps pour un grand cadeau de Noël. Sourire

Ce livre est environ deux choses: 1) habilitation des utilisateurs finaux afin qu'ils peuvent résoudre leurs propres problèmes d'entreprise à l'aide de SP 2010 capacités de flux de travail et 2) aider le personnel informatique (développeurs en particulier) faire de même.  Environ les deux tiers du livre sont destinés à ce que j'appelle « Militant des utilisateurs » (hautement qualifiés, mais motivés et non-techniques les utilisateurs finaux).  Il tente d'expliquer la façon de concevoir des solutions SharePoint 2010 à l'aide de flux de travail SharePoint Designer et un certain nombre de fonctionnalités supplémentaires de SharePoint.

Le dernier tiers vise directement le développeur.  Cependant, Contrairement à certains des livres purement techniques sur le marché, ces chapitres expliquent comment les développeurs SharePoint peuvent créer une fonctionnalité qui autorise encore ces utilisateurs militants au moyen d'activités personnalisées de SharePoint Designer et autres bits techniques.  En habilitant les activistes utilisateurs dans votre organisation, vous libérer de votre équipe de développement (ou simplement vous) faire le difficile (et généralement plus techniquement intéressant) choses que les utilisateurs finaux ne peut jamais faire et jamais devrait essayer sur leurs propre.

Dans les semaines à venir, J'écrirai plus sur le livre, y compris les trucs pelucheux comme « comment est-ce comme pour écrire un livre » que je sais que beaucoup de gens sont intéressés à connaître.  Tout d'abord – je vais présenter mes co-auteurs sans qui ce livre n'aurait jamais ont survécu à voir la lumière du jour.

En savoir plus sur le livre sur la Site web de Amazon.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Partie SharePoint Web interface utilisateur modèle de conception à l'aide de XSL

J'ai donné un exposé cette année sur un modèle de conception pour les composants WebPart SharePoint où l'interface utilisateur est entièrement géré via XSL. 

J'ai l'intention d'écrire cette plus en détail au cours de la prochaine période de temps.  Pendant ce temps, Voici le document PowerPoint.

Le code source de ce projet est sur CodePlex ici: http://webpartsxsl.codeplex.com/.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin