mėnesio Archyvai: Balandžio 2013

Greitai ir lengvai: Perkelti naudojant C# Windows Store App stačiakampis

Savo bendrą dienoraštį filosofija, kad tai yra visiškai gerai į dienoraštį apie senosios, apsigyveno temų, kurios buvo įtrauktos į mirties kitur.  Manau, ši tema yra viena iš tų, bet aš dienoraštį ji bet kokiu atveju.

I been darbo lango store app ir aš esu dalis kur man reikia padaryti šiek tiek pagyvėja.  Šiuo tikslu, Aš jau buvo suprasti, bitai ir vienetų Windows saugoti app animacija,, kaip paaiškėjo, yra gana arti, bet ne lygiai taip pat kaip, XAML pagal animacijos .NET (Aš vis dar eina į kovą su tuo, kad WinRT <> .TINKLAS 🙂 ).

Šį rytą aš norėjau susitvarkyti vilkite ir upuść operacijas.  Pakeliui į, Aš turiu Ugrzęźnięty juda stačiakampis vietoj :).  Čia yra kodas, kuris juda stačiakampis, kai vartotojas spusteli mygtuką:

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

Trick čia, kad aš negaliu tiesiogiai pakeisti OffsetX ar OffsetY.  Ten gali būti daugiau protingas būdas tai padaryti (ir jei jūs žinote ir jaustis kaip, Prašome rašyti komentarus). 

Šiuo tikslu, Man reikia:

1. Gauti stačiakampio MatrixTransform (liejimo RenderTransform).

2. Gauti kad vaikinas matrica.

3. Pakeisti nukrypimais į matrica.

4. Iš naujo priskirti matrica grįžti į į MatrixTransform.

5. Iš naujo priskirti MatrixTransform atgal į stačiakampio.

Išbandyti, Aš įdėti stačiakampį ir mygtuką ekrano. Kai aš spauskite mygtuką, aukščiau logika vykdo ir juda stačiakampis iš karto.

Tam tikru momentu, Aš norėčiau Animuoti tai, bet aš neįsivaizduoju, kaip gauti DoubleAnimation dirbti su juo (Storyboard.SetTargetProperty() ar man paslaptis šį kartą yra).

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Nustatymas ListboxItems aukštis į sąrašo lauką programiškai Windows Store App

Aš dirbu parduotuvėje programa windows ir vienas iš dalykų, aš noriu padaryti App yra rodoma žurnale, rodo būsenos pranešimų ir kitos informacijos smulkmenos kaip vartotojas dirba dalykų. Šiuo tikslu, Aš pridėjo sąrašo lauką taip:

<Sąrašo laukas x:Pavadinimas ="GameStateLog" HorizontalAlignment ="Centras" Aukštis ="221" VerticalAlignment ="Viršų" Plotis ="499" Prikimšti ="0" Šrifto dydis ="10">

 

C# kodą užpildyti sąrašo lauką vykdymo metu buvo palei linijas:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Naujas žaidimo valstybės: laukia žaidėjas 1 vardas, pavadinimas");

Tai dirbo iš švelniavilnių pakankamai bet UI parodė crazy kiekį apdaila aplink atskirus pranešimus, kaip jie buvo įtraukti. Tai turi prasmę, jei aš noriu galutiniai vartotojai galės pasirinkti šiuos elementus bet neturi prasmės, kai aš tiesiog noriu parodyti veikia nemažai pranešimus prisijungti – vartotojai negali pasirinkti šių, tik Rodyti jiems. Ji buvo keistai sunku rasti lengvai tai padaryti ir be abejo, tai, kaip man atrodė ne visada "lengva", bet aš jį dirbti gerai. Pagrindiniai insight atėjo iš šį skelbimą čia (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) nuo Bob Relyea. O ne pridėti eilučių elementų surinkimo sąrašo laukas, pridėti ListBoxItems. Pridėti eilutę, sąrašo laukas buvo sukurti savo ListBoxItem savo. Aš negalėjo turėti įtakos ką nors apie tą ListBoxItem po to. Naujajame kodekse yra:

        privačių negalioja AddGameStateLogMessage(eilutė theMessage)
        {
            ListBoxItem li = naujas ListBoxItem();
            Li.Kiekis = theMessage;
            Li.MaxHeight = 25;

            Storis thisPadding = naujas Storis(5, 0, 5, 0);
            Li.Prikimšti = thisPadding;

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

 

Čia aš sukurti ListBoxItem's ir įterpiant juos. Aš pašalinti perteklių užpildymas nustatant jo storis.

Tai gana lankstus, nes aš ketinu padaryti šiek tiek spalvų kodavimo pabrėžti tam tikros rūšies pranešimus ir tiesiogiai įtraukiant ListBoxItems man į stilius jiems jokiu būdu aš noriu.

Tikiuosi, kad tai padės kam nors!

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin