Hurtig og nem: Flytte et rektangel ved hjælp af C# i en Windows Store App

Min generelle blog filosofi er, at det er helt fint at blog om gamle, afgjort emner, der har været dækket til døden andetsteds.  Jeg formoder, dette emne er en af dem, men jeg er blogging det alligevel.

Jeg har arbejdet på et vindue butik app og jeg er på del hvor jeg skal gøre nogle animere.  Til dette formål, Jeg har været at finde ud af bits og stykker af windows gemmer app animation som, da det viser sig, er ganske tæt på, men ikke præcis som, XAML baseret animationer i .NET (Jeg stadig kommer til livs med faktum at WinRT <> .NET 🙂 ).

Her til morgen jeg ønskede at få styr på træk og slip.  På vej til at, Jeg fik kørt ned flytter et rektangel i stedet :).  Her er den kode, der flytter en rektangel, når brugeren klikker på en knap:

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

Tricket her er at jeg direkte ikke kan ændre OffsetX eller OffsetY.  Der kan være en mere smart måde at gøre dette (og hvis du kender og føler sig som, bedes du sende i kommentarerne). 

For at gøre dette, Jeg har brug for at:

1. Få MatrixTransform af rektanglet (ved at kaste RenderTransform).

2. Få matrixen for at fyr.

3. Ændre den Matrix kompensationskøb.

4. Gentildele Matrix tilbage til MatrixTransform.

5. Gentildele MatrixTransform tilbage til rektanglet.

At teste det., Jeg sætter et rektangel og knappen på skærmen. Når jeg klikker på knappen, den ovenstående logik udfører og flytter rektanglet straks.

På et tidspunkt, Jeg vil gerne animere det men jeg har ingen idé om hvordan man får en DoubleAnimation til at arbejde på det. (Storyboard.SetTargetProperty() bliver et mysterium for mig på dette for tiden).

</slutningen>

undefinedAbonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Indstille højden af ListboxItems i en ListBox programmatisk til Windows Store App

Jeg arbejder på en Vinduer store programmet og en af de ting, jeg ønsker at gøre i app er vist en log, der viser status beskeder og andre informative lækkerier som brugeren arbejder ting. Til dette formål, Jeg har tilføjet en liste som følger:

<ListBox x:Navn ="GameStateLog" HorizontalAlignment ="Center" Højde ="221" VerticalAlignment ="Toppen" Bredde ="499" Polstring ="0" Skriftstørrelse (FontSize) ="10">

 

C#-kode til at udfylde kontrolelementerne liste på runtime blev i lighed med:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Nye spil tilstand: venter på afspilleren 1 Navn");

Det virkede fint nok men UI viste et vanvittigt beløb af polstring omkring de enkelte meddelelser, som de blev tilføjet. Det giver mening, hvis jeg ønsker slutbrugere at vælge disse emner, men ikke giver mening, når jeg ønsker blot at vise en løbende serie af logmeddelelser-brugere vil ikke vælge disse, bare se dem. Det var mærkeligt nok svært at finde en nem måde at gøre dette og velsagtens, den måde, jeg fandt det ikke nødvendigvis "let", men jeg fik det til at virke OK. Den afgørende indsigt kom fra denne udstationering Her (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) fra Bob Relyea. I stedet for at tilføje strenge til samlingen elementer på en liste, Tilføj ListBoxItems. Ved at tilføje en streng, ListBox var at skabe sin egen ListBoxItem på sin egen. Jeg var ikke i stand til at påvirke noget om at ListBoxItem efter faktum. Den nye kode er:

        privat void AddGameStateLogMessage(streng theMessage)
        {
            ListBoxItem li = nye ListBoxItem();
            Li.Indhold = theMessage;
            Li.MaxHeight = 25;

            Tykkelse thisPadding = nye Tykkelse(5, 0, 5, 0);
            Li.Polstring = thisPadding;

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

 

Her jeg opretter Listboxitems og indsætte dem. Jeg fjernet den overskydende polstring ved at angive dens tykkelse.

Dette er temmelig fleksible som jeg agter at gøre nogle farvekodning for at fremhæve bestemte typer af beskeder og ved direkte at ListBoxItems får jeg at style dem jeg vil.

Håb indeværende hjælper nogen!

</slutningen>

undefinedAbonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Hurtig og nem – Sikker azurblå kønavne

Fjollet men enkel post.

Som opfølgning på gårsdagens indlæg om"StorageException blev afviklet"Jeg troede jeg ville vise den wee kodestykke, jeg bruger til at generere kønavne:

 

        offentlige statisk streng GetRandomQueueName()
        {
            GUID g;
            g = System.Guid.NewGuid();
            tilbagevenden g.ToString();

        } 

Slags fjollet i sin enkelhed, men fungerer godt for mig og har genereret 100's af sikker kønavne i de sidste par uger.

</slutningen>

undefinedAbonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Arbejde med azurblå køer – "StorageException blev afviklet”

Jeg har leget med azurblå køer for den sidste uge eller to, og det har stået hed.  Hvor var disse ting når jeg havde brug for dem tilbage i 1990?

Denne artikel, navnlig, er en glimrende intro til køer til .NET programmører: http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/.  Ved hjælp af denne artikel, Jeg har været i stand til at samle lidt rigtig flot af klient-server logik, der er hidtil pålidelige og virker bare med ingen sorg.  Virkelig-hvor var denne ting i 1990?

Jeg har ramt en lille anstødssten lige ud af porten, men.   Så snart jeg forvildet fra detaljerne i walk-through, Jeg blev ramt med en StorageException og en "remote server serveren returnerede en fejl (400) Dårlig anmodning.

image

Det viste sig at min kø navn blev slukket:

image

Når jeg ændret "OneQueueToRuleThemAll" til "onequeuetorulethemall" gik StorageException væk.  Jeg har ikke bemærket nogen af den dokumentation, ringer det ud men det kan godt gøre det.

Håber det hjælper nogen.

</slutningen>

undefinedAbonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Tidlige indtryk på Surface Pro

[Opdatering 3/26: Jeg fik en tweet fra @Surface folk spørger, om de kunne hjælpe mig med noget, så jeg lavede en plug for Swype, som de anerkendt med en "interessant – tak for feedback, Paul!”  Jeg tror virkelig, at Swype ville gøre denne enhed meget lettere at bruge for casual produktivitet.  (Også, fast en tastefejl påpeget over for mig af en gammel ven – tak, Mike!)]

Mit kontor vandt en konkurrence tidligere på året med en lille kontant pris knyttet til den.  Jeg brugte pengene til at yde tilskud til køb af en Surface Pro (128GB med 2 års forsikring plan) og jeg har brugt en hel del siden da.  Jeg købte det fra Microsoft Store i storcenteret af Columbus Circle i Manhattan.  Samlede pris var om $1300 USD med det bedre tastatur og suckerens forsikring 🙂

Jeg fik kun det 4 dage siden, og allerede jeg kan næppe forestille sig ikke at have det.  Jeg bragte i seng til at læse den så vidt fremragende Programmering Windows 8 Apps med HTML, CSS, og JavaScript og det var den første ting jeg nåede til, da jeg vågnede.

Her er nogle indtryk, i ingen bestemt rækkefølge:

Hvordan rører: Jeg ønsker at røre hver skærm, jeg ser nu.

Windows 8 er for touch-enheder: Jeg har en meget stærkere påskønnelse for Windows 8.  Denne o/s svarer meget bedre til en touch-enhed end et tastatur.  I første omgang, Jeg vidste ikke, hvordan man næppe komme i gang, men hurtigt blev det anden natur for mig. Og det er meget hurtigt og lydhør, så du ikke føler, at du halter rundt eller betale en bøde for en fejl.  Jeg er ikke ekspert med UI (Mystery ting stadig ske) men jeg flyver rundt omkring stedet med en god portion selvtillid efter en forholdsvis lille håndfuld timer på det

På samme tid, nu, jeg har brugt touch, Jeg har en meget bedre forståelse af o/s fra en Dell laptop perspektiv.  Musemåtte på min E6430 gør ikke konkurrere med den overflade flere berøringspunkter, osv., men det gør et godt stykke arbejde med nogle af fagter.  Men uanset musemåtten, efter at have arbejdet med overfladen nu, Jeg ved, hvad der sker, når jeg flytter min musemarkøren og forskellige små stikord dukker op i hjørner og sådan.

Jeg vil også gerne påpege en linje fra denne blog-indlæg ved Brandon Carson:

Langs kommer Microsoft med et andet perspektiv på hvordan et operativsystem bør støtte sine brugere. I stedet for to OS'ER og en opsplitning mellem enheder, Microsoft bygger en ny OS for at blande lean-back erfaring med den desktop erfaring og give brugerkontrol over hvordan man kommunikerer med deres enhed."

Denne linje krystalliseret for mig det hele point Win8 som en o/s.  Det er en iPad, og det er bærbar.  Jeg kan lide det.  Jeg kan lide det en masse.  Jeg bringe ikke min laptop til bed meget ofte, og når jeg gør, Det er en nyhed og en smerte.  Denne ting kan gå overalt med mig, herunder arbejde.

Windows store er awesome!  Jeg antaget bare, da jeg købte overfladen, at windows app butik ville være et komplet spild af tid, et goldt affald land halvhjertet apps klamrer sig til den stenede jord, trist og patetisk.  Jeg tror, at de forskellige anti-Microsoft folk er ved at vinde hjerter og sind argumentet her.  Selv om det er empirisk rigtigt, at Apple og Google har bazillions flere apps i deres butikker, dwarfing MSFT, MSFT stadig har en agtværdige udvalg og det vokser.   Min pointe er ikke at MSFTS butik er "bedre" end dem, men at det ikke er så slemt som intertubes vil gøre du tror.  Give det et kig. Der er mange interessante apps derude.

Pen er awesome!: Jeg har ønsket muligheden for at skrive og skitsere netværksarkitekturdiagrammer for evigt.  Alle de 3rd part ting følt altid klodset, medmindre du har købt en, der var dyrt og jeg bare ikke har lyst.  Med overfladen, Det er helt naturligt og hurtigt, Plus masser af interessante apps til rådighed.  Disse omfatter paint.net, noget interessant fra Evernote (Skitch), OneNote (som har førsteklasses support til pennen), PowerPoint (giver mulighed for udfyldelse og tegning under præsentationer).  Jeg har knap nok kradset i overfladen her og jeg elsker det.  Tjek dette blogindlæg til en mere professionel udtalelse på hvordan overfladen kan bruges til flere industrielle styrke kunst.  Jeg kan ikke vente til min næste PPT demo.

Det spiller Civ5! (med lidt hjælp fra nogle venner):  Civ med berøring er virkelig pæn 🙂

Nogle ubehageligheder:

  • Batteriet er ikke stor.  Ikke bedre end min laptop.  Jeg har dette vage begreb at batterier skal være "aircondition" (men det er nok noget vrøvl) så hvis det er tilfældet, Det kan blive bedre.
  • Tastaturet er lille.  Men, Jeg har været at vænne sig til det.
  • Nej Swype! Jeg er lige begyndt ved hjælp af Swype et par måneder siden på min Galaxy S3 kører Android og jeg kan ikke tro hvor produktiv det gjorde mig.  Ikke at have det på Win8 er virkelig frustrerende og det ser ud som det vil være en lang tid, Hvis nogensinde, før Swype er tilgængelige.  Nogle andre 3rd partier arbejder på det, men min 30 sekunder værd af forskning indebærer, at o/s bare ikke understøtter det.  (Hvis du ikke bruger Swype eller en af sine fætre og kusiner bør du stoppe læsningen denne blog-indlæg og give det en chance; Dette indlæg vil næsten helt sikkert stadig være her, når du kommer tilbage).
  • Samlede formfaktor – stadig at vænne til den.  Det er en smuk skærm og Netflix er stor på det.  Webbrowsing er stor på det. Men, MS Word-form for hårdt og ikke meget touch venlig (Til mig, hidtil).  Jeg har set skærmbilleder af mennesker, der bruger visual studio på det – der synes at være en strækning.  Men jeg har tænkt mig at give det en chance på et tidspunkt.

Så, der går du!  Håb indeværende hjælper nogen tænker om det.  Det er for tidligt for mig at sige "købe det!”.  Jeg vil genlæse dette indlæg i en uge eller deromkring og opfølgning.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

En uventet Awesome teambuilding øvelse

Jeg indkaldt til et hold møde her for New York SharePoint team og i sidste øjeblik, uden nogen særlig grund, tilføjet et nyt punkt på dagsordenen:

Personal Information exchange: Jeg har tænkt mig at trække op google earth og hver af os vil fortælle holdet, hvor vi blev født og hvor vi lever i dag. Jeg vil kort det realtid. Vi vil også gøre en hurtig gennemgang af vores respektive familier. Beføle omkostningsfrit hen til skabe en fantasy familie her men holder i tankerne, når du begynder at lyve om familien, Du skal oprette successivt udarbejde løgne og du vil sandsynligvis rejse op på et tidspunkt, så vær forberedt på at.

Jeg troede det ville tage 20 minutter eller deromkring til at gøre med ni personer.  I stedet, Det tog 90 minutter Smil, primært fordi folk tilbragt betydelige mængder af tid på forskellige steder på kloden.  Det var en spændende øvelse og vi helt sikkert lært en masse om hinanden.  Jeg har lært, Endelig, hvad folk mener med "Nord" og "syd" Indien.

Hvis du kan finde tid i denne travle og hektiske dage til at gøre noget som det, Jeg anbefale varmt det.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Sporing praksis aktiviteter – Del 1

Omkring et år siden, Jeg sluttede Slalom høring her i new York som hvad vi kalder en praksis område føre.  (Som en lille sidebemærkning til punktet af denne blog post, at ændre i job konti for min samlede drop-off i blogging.  Det var en stor forandring i roller og en stor forandring i dag til dag "ting" men jeg har slags akklimatiseret mig til det og ser frem til at skrive igen Smil ).

I denne PAL rolle, Jeg er ansvarlig for at redde virksomheden og nærmeste omegn af 21 West 21st street fra katastrofe på en regelmæssig basis.  Det er et stort pres (mere end du måske tror – Tænk bare på alle børn!). 

I tjeneste for denne nødvendighed, Jeg har brug at hjælpe med pre-sales, Opret og Opdater go-to-market tilbud, leje gode folk, træne op folk til at gøre dem bedre (men i virkeligheden, at gøre mit job lettere) og lejlighedsvis gøre noget fakturerbare på en klient.  Jeg får en masse af "input"-spørgsmål fra klienter, salgsmuligheder, min egen dum tanker og så videre.  Noget af det er rigtig god (som en hot salg oppty) mens meget af det er mindre godt.  Nøglen er i første omgang spore, prioritere og styre hver enkelt af disse ideer (store og små) til en vellykket afslutning. 

Denne form for Opgavestyring er ikke ny, højre?  Og vi har masser af opgave værktøjer til at hjælpe os med dette.  Outlook har opgaver.  Du kan smække et regneark sammen pæn og hurtig.  Min allerførste opgave management værktøj var en juridisk Notesblok tilbage i mine dage på GAF som udvikler i IT-afdelingen.  (Spørg mig om de gode gamle dage den næste gang du ser mig hvis du er interesseret, eller måske ikke…).

At være en SharePoint fyr (nominelt, mindst), Jeg har altid tænkt at bruge SharePoint.  Men for nogle grund, en generisk opgaveliste gjorde aldrig helt det for mig.  En flok måneder siden, Jeg besluttede at helbrede mig selv over og kun opretter en SharePoint-baseret løsning.  Det var så pinligt nemt at oprette at jeg troede, at skrive om det her.

Så, mit mål her var meget enkel:

  • Super nemt og hurtigt dataindtastning
  • Prioritere aktiviteter
  • Kategorisere aktiviteter
  • "næste trin" drevet – vil disse aktiviteter ofte span uger (måske endda måneder).  De næsten aldrig ende"" efter en bestemt opdatering.

Disse bits egner sig meget pænt til en indholdstype, så det er hvad jeg skabt:

image

Du kan faktisk se, at jeg havde et salg bias med dette i første omgang, da jeg har "Klient" feltet.  En masse af min praksis aktiviteter er baseret omkring klienter (enten faktiske eller potentielle).  Men mange af dem er også internt fokuseret.  Jeg slap "Slalom" derinde, når jeg opretter dem, men det føles altid en smule underligt.  Jeg skal have kaldt det noget mere generisk.  Måske "målorganisationen" eller noget.

Her er et par Diverse noter på den type indhold:

  • Aktivitet indvirkning har overdraget til en måling af prioritet.  Jeg er ikke sikker på hvorfor jeg gik med "Indflydelse" og ikke "prioritet" dag nul, men det er hvad jeg gjorde. 
  • Næste trin og dato for næste skridt – jeg har et dashboard, der er drevet af datoen for den næste aktivitet.  Dette dashboard er slags blevet min marchordre for dag/uge.  Jeg bare gå til dashboard og fokusere på høj prioritet ting først og gå derfra.  (Der er begrebet en "ukodet"
  • Primære ejer – den eneste ting at bemærke er- er det ikke fantastisk, at du kan sortere og filtrere på multi-Vælg kolonner i SP 2010! Jeg faktisk købe fuldt ikke ind i dette begreb i første omgang.
  • Aktivitetsstatus – virkelig bare "Open" eller "Lukket". 
  • Primære praksis – efter jeg begyndte at bruge dette, en anden kammerat i min gruppe ønskede at prøve dette, så jeg gled det ind i blandingen for at skelne mellem mine ting (Portaler & Samarbejde) og hende stuff (Azure).

Her er mit betjeningspanel:

image

(Sorry for alle de slørede ud bits-jeg følte lide at skabe en flok af testdata og jeg ønsker ikke at give nogen et hjerteanfald over deling vitale oplysninger [Se bit i intro re: redde verden, osv., osv., osv.]).

Jeg har flere andre visninger på denne liste, herunder en dataarkvisning, der tillader mig at masse opdateringer.  Jeg gør det mest ofte når en flok af lavere prioriterede emner jeg planlagde at gøre et aldrig helt fik gjort og har brug for at blive skubbet ud i en uge.

Hver dag, Jeg trækker op min aktiviteter log og begynde bare at arbejde ud i toppen af listen.

I en del 2, Jeg vil forklare, hvordan jeg gjorde det endnu mere nyttigt med tilføjelsen af en dejlig e-mail-aktiverede doc bibliotek og SPD workflow.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Slalom høring–Boston SharePoint lederskab nødvendigt

Jeg tiltrådte Slalom høring seks måneder siden til dag, og det har været en utrolig ride.  Jeg planlægger at blog nogle mere om der nu, jeg begynder at føle sig temmelig fast.  Arbejder her er ligesom lever i et eventyr meste af tiden.  Smarte folk, interessant klienter, solid støtte fra ledelsen både lokale og virksomhedernes … de lejlighedsvis libation … god stuff.

Vores Boston-kontoret har lige åbnet og de søger en leder at lancere deres SharePoint praksis.  Det er en meget kompleks, fuld job med en masse sjov udfordringer.  Du definerer tilbud af interesse til det lokale marked, Du opløfte din ærmer og gøre virkelige arbejde og du ansætte folk at opbygge det bedste hold kan du administrere.  Jeg kan ikke anbefale det stærkt nok.

Hvis du er interesseret i denne holdning, eller hvis du kender nogen, der kunne være interesseret, venligst brand fra en e-mail til mig: Paul.GALVIN@slalom.com.

Jeg er glad for at dele min oprigtige erfaringer (både god og dårlig) her i New York.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Min arbejdsproces bog er tilgængelige til køb

Jeg begyndte at tale med min oprindelige medophavsmænd over to år siden.  De opgav til sidst projektet, men sent sommer, ved hjælp af flere nye medophavsmænd, Jeg blev endelig kunne bringe dette over målstregen. 

Professionel arbejdsproces i SharePoint 2010: Virkelige verden Business Solutions hit Amazon og Barnes og ædle websted nogle gang i sidst 10 dage.  Den er tilgængelig i paperback og fænge/højere og alt dette, lige i tide til en stor julegave. Smil

Denne bog er omkring to ting: 1) bemyndigelse slutbrugere, så de kan løse deres egne business problemer ved hjælp af SP 2010 arbejdsproces kapaciteter og 2) at hjælpe IT-medarbejdere (udviklere i særdeleshed) gøre det samme.  Ca. to tredjedele af bogen er rettet mod det, jeg kalder "Aktivist brugere" (højtuddannet men ikke-teknisk og motiverede slutbrugere).  Det forsøger at forklare hvordan at udforme løsninger i SharePoint 2010 ved hjælp af SharePoint Designer arbejdsprocessen og en række yderligere SharePoint-funktioner.

Den sidste tredjedel er helt og holdent sigter udvikleren.  Dog, i modsætning til nogle af de rent tekniske bøger på markedet, disse kapitler forklare, hvordan SharePoint udviklere kan oprette funktionalitet, yderligere bemyndiger disse aktivist brugere ved hjælp af brugerdefinerede SharePoint Designer aktiviteter og andre tekniske bits.  Ved bemyndigelse aktivist brugerne i organisationen, du frigøre udviklingsteamet (eller bare selv) at gøre den virkelig hårdt (og typisk mere teknisk interessant) stuff, at slutbrugere kan aldrig gøre og aldrig bør forsøge deres egne.

I de kommende uger, Skriver jeg op mere om bogen, herunder fluffy stuff som "hvor er det ligesom at skrive en bog" at jeg kender mange mennesker er interesseret i at vide noget om.  Op-vil jeg først indføre min medophavsmænd uden hvem denne bog ville aldrig have overlevet for at se dagens lys.

Læs mere om bogen på den Amazon-websted.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

SharePoint Web del UI Design Pattern ved hjælp af XSL

Jeg har givet en taler dette år på på et design pattern for SharePoint-webdele hvor Brugergrænsefladen helt forvaltes via XSL. 

Jeg planlægger at skrive dette i større detalje i den næste periode.  I mellemtiden, Her er PowerPoint.

Kildekoden for dette projekt er op på CodePlex her: http://webpartsxsl.codeplex.com/.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin