Kuukausiarkistot: Huhtikuuta 2013

Nopea ja helppo: Siirrä suorakulmio käyttämällä C# Windows Store App

Minun koko blogi filosofia on täysin hieno blogi vanha, Ratkaistu aiheet, joka on käsitelty kuolemaan muualla.  Oletan, että tämä aihe on yksi niistä, mutta olen blogging se joka tapauksessa.

Olen työskennellyt ikkunan store app, ja olen sitä osaa, jossa minun täytyy tehdä joitakin animointiin.  Tätä varten, Olen miettiminen, bittiä ja paloja windows tallentaa app animaatio joka, kuten on käynyt ilmi, on melko lähellä, mutta ei aivan kuten, XAML-pohjainen animaatioita .NET (Olen edelleen tulossa siihen, että WinRT <> .NET 🙂 ).

Tänä aamuna halusin saada käsitellä vedä ja pudota-toiminnot.  Matkalla että, Eilispäivän liikkuvat suorakulmio sen sijaan :).  Tässä on koodi, joka siirtää suorakulmion, kun käyttäjä napsauttaa painiketta:

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

Puijata tähän on, että en voi suoraan muuttaa OffsetX tai OffsetY.  On fiksu tapa tehdä tämä (ja jos te tiedätte ja tunnette, kuten, Lähetä kommentteja). 

Tätä, Minun täytyy:

1. Saat suorakaiteen MatrixTransform (valamalla RenderTransform).

2. Saat matriisi että kaveri.

3. Muuttaa Matrix siirtymät.

4. Määritä matriisi MatrixTransform.

5. Määrittää MatrixTransform takaisin suorakulmioksi.

Testata sitä, Laita suorakaiteen ja painiketta näytön. Kun-painiketta napsautetaan, edellä logiikka suorittaa ja siirtää suorakulmion välittömästi.

Jossain vaiheessa, Haluaisin animoi tämä mutta minulla ei ole aavistustakaan miten saada DoubleAnimation toimimaan (Storyboard.SetTargetProperty() on mysteeri minulle tämän kerran).

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Asettaminen ListboxItems korkeus luetteloruudun ohjelmallisesti Windows Store App

Olen työskennellyt windows store-sovellus ja yksi niistä asioista, haluan tehdä app on Näytä kirjaa, että esitellä arvostus asia ja muita Tiedottava selityksiä, koska käyttäjä toimii. Tätä varten, Olen lisännyt luetteloruudun seuraavasti:

<ListBox x:Nimi ="GameStateLog" HorizontalAlignment ="Center" Korkeus ="221" VerticalAlignment ="Alkuun" Leveys ="499" Täyte ="0" Fontin koko ="10">

 

C#-koodi, joka täyttää luetteloruudun suorituksen oli tapaan:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Uusi peli valtion: odottaa pelaaja 1 Nimi");

Tämä toimi hyvin tarpeeksi mutta UI osoitti hullu määrä padding yksittäisiä viestejä, ne on lisätty. Tämä on järkevää, jos haluat peruskäyttäjien on voitava valita, mutta ei ole mitään järkeä, kun haluan vain näyttää jatkuva sarja lokiviestit – käyttäjät eivät valita nämä, vain katsella niitä. Se oli kumma vaikea löytää helppo tapa tehdä tämä ja todennäköisesti, Löysin sen tapa ei ole välttämättä "helppo", mutta sain sen toimimaan OK. Tärkeä päätelmä tuli tästä kommentista Täällä (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) Alkaen Bob Relyea. Sijaan lisätä jouset ListBox Items-kokoelman, Lisää ListBoxItems. Lisäämällä merkkijono, ListBox oli luoda oman ListBoxItem omasta. En voinut vaikuttaa mitään että ListBoxItem jälkikäteen. Uusi koodi on:

        Yksityinen mitättömäksi AddGameStateLogMessage(merkkijono theMessage)
        {
            ListBoxItem li = Uusi ListBoxItem();
            Li.Content = theMessage;
            Li.MaxHeight = 25;

            Paksuus thisPadding = Uusi Paksuus(5, 0, 5, 0);
            Li.Täyte = thisPadding;

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

 

Täällä olen luoda ListBoxItem n ja niiden asettamista. Poistin ylimääräinen pehmuste asettamalla sen paksuus.

Tämä on melko joustava, koska aion tehdä joitakin korostaa tietyn tyyppiset viestit värikoodit ja suoraan lisäämällä ListBoxItems saan tyyliin niitä halutulla tavalla.

Toivottavasti tämä auttaa jotakuta!

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin