Archifau Misol: Ebrill 2013

Cyflym a hawdd: Symud Petryal Gan ddefnyddio C # Mewn Ffenestri Store App

Fy athroniaeth blog gyffredinol yw ei fod yn berffaith iawn i blog am hen, sefydlog pynciau sydd wedi cael ei drafod i farwolaeth mewn mannau eraill.  Rwy'n cymryd yn ganiataol y pwnc hwn yn un o'r rhai, ond rwy'n blogio beth bynnag.

Rydw i wedi bod yn gweithio ar siop app ffenestri ac rwy'n yn y rhan lle mae angen i mi wneud ychydig o animeiddio.  I'r perwyl hwn, Rwyf wedi bod yn figuring allan darnau a darnau o ffenestri siop app animeiddio sy'n, gan ei fod yn troi allan, yn eithaf agos at, ond nid yn union fel, XAML animeiddiadau a leolir yn. NET (Rwy'n dal i ddod i'r afael â'r ffaith bod WinRT <> .NET 🙂 ).

Y bore yma roeddwn i eisiau i gael gwybodaeth ynghylch gweithrediadau llusgo a gollwng.  Ar y ffordd i'r, Cefais fy llethu symud petryal yn lle hynny :).  Dyma y cod sy'n symud petryal pan mae'r defnyddiwr yn clicio botwm:

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

Y gamp yma yw nad wyf yn gallu newid yn uniongyrchol OffsetX neu OffsetY.  Gall fod yn ffordd fwy clyfar o wneud hyn (ac os ydych yn gwybod ac yn teimlo fel, postiwch yn y sylwadau). 

Er mwyn gwneud hyn, Mae angen i fi:

1. Cael y MatrixTransform y petryal (gan castio RenderTransform).

2. Cael y Matrics o y boi.

3. Newid gwrthbwyso y Matrics yn.

4. Ail-neilltuo Matrics yn ôl i'r MatrixTransform.

5. Ail-neilltuo i'r MatrixTransform yn ôl i'r Petryal.

I brofi ei, Yr wyf yn rhoi petryal a botwm y sgrin. Pan fyddaf yn clicio ar y botwm, y rhesymeg uchod yn gweithredu ac yn symud y petryal ar unwaith.

Ar ryw bwynt, Hoffwn i animeiddio hyn, ond nid oes gennyf unrhyw syniad sut i gael DoubleAnimation i weithio arno (Storyboard.SetTargetProperty() yn ddirgelwch i mi ar hyn am y tro).

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Gosod y Uchder y ListboxItems Mewn listbox programmatically ar gyfer Windows Store App

Yr wyf yn gweithio ar gais siop windows ac un o'r pethau yr wyf am ei wneud yn yr app yw arddangos log sy'n dangos statws negeseuon ac eraill tidbits gwybodaeth gan y defnyddiwr yn gweithio pethau. I'r perwyl hwn, I ychwanegu listbox fel a ganlyn:

<Listbox x:Enwch ="GameStateLog" HorizontalAlignment ="Center" Uchder ="221" VerticalAlignment ="Top" Lled ="499" Phadin ="0" FontSize ="10">

 

Mae C # cod i boblogi'r listbox yn Rhedeg oedd ar hyd y llinellau:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Cyflwr gêm newydd: aros am chwaraewr 1 Enw");

Gweithiodd hyn allan ddirwy ddigon ond dangosodd y UI swm wallgof o phadin o amgylch y negeseuon unigol fel y maent, ychwanegwyd. Mae hynny'n gwneud synnwyr os wyf am i ddefnyddwyr diwedd i allu dewis yr eitemau hyn, ond nid yw'n gwneud synnwyr pan Fi jyst eisiau dangos cyfres rhedeg o negeseuon log - ni fydd defnyddwyr yn dewis y rhain, Dim ond eu gweld. Yr oedd yn rhyfedd anodd dod o hyd yn ffordd hawdd o wneud hyn a gellir dadlau, Nid y ffordd yr oedd yn "hawdd" o reidrwydd ond cefais mae'n gweithio iawn. Daeth y mewnwelediad allweddol o'r bostio yma (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) o Bob Relyea. Yn hytrach na ychwanegu llinynnau at y casgliad Eitemau ar y listbox, ychwanegu ListBoxItems. Drwy ychwanegu llinyn, Roedd y blwch rhestr yn creu ei hun ListBoxItem ar ei ben ei hun. Nid oeddwn yn gallu effeithio ar unrhyw beth am y ListBoxItem ar ôl y ffaith. Mae'r cod newydd yn:

        preifat gwag AddGameStateLogMessage(llinyn theMessage)
        {
            ListBoxItem y = newydd ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Trwch thisPadding = newydd Trwch(5, 0, 5, 0);
            li.Padding = thisPadding;

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

 

Yma yr wyf yn creu y ListBoxItem a'u gosod. I symud y padin dros ben trwy osod ei drwch.

Mae hyn yn eithaf hyblyg gan fy mod yn bwriadu gwneud rhywfaint o liw codio i dynnu sylw at fathau penodol o negeseuon a thrwy ychwanegu ListBoxItems yn uniongyrchol i mi gael i arddull iddynt unrhyw ffordd rwyf am.

Hope mae hyn yn helpu rhywun!

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin