Categoria Arkistot: Windows-kauppa

Nopea ja helppo: Asettaa koko kohteiden luettelo-ruudussa Windows Store App

Windows Store App luon, Haluan näyttää käyttäjälle eri tietosanomia.  Otin luetteloruudun työkalu näyttää, että he selata niitä ja kaikki hyvät jutut. 

Viestit ovat Tiedottava vain, joten ei ole tarpeen huolehtia kaiken sen ylimääräisen välilyönnin ympärillä, koska käyttäjä voi koskaan valita mistään.  ListBox oletustoimintaa tarjoaa paljon pehmusteet ja halusin päästä eroon siitä.  No.... et voi tehdä sellaista kentästä suoraan.  KUITENKIN, Voit tehdä sen lisäämäsi kohteet:

        Yksityinen mitättömäksi AddGameStateLogMessage(merkkijono theMessage)
        {
            Oppikirja t = Uusi Oppikirja();
            t.Text = GameStateCounter    + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Paksuus thisPadding = Uusi Paksuus(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = Uusi ListBoxItem();
            Li.Content = t;
            Li.MaxHeight = 25;
            thisPadding = Uusi Paksuus(5, 0, 5, 0);
            Li.Täyte = thisPadding;

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

Edellä, Luominen TextBox ja asettaa fontti, sen täyttäminen, jne.

Seuraava, Luo ListBoxItem ja asettaa sen sisältö muotoiltu oppikirja.

Lopuksi, ListBoxItem lisääminen luetteloruudusta.  (Haluan näyttää uusimmat viestit luettelon alkuun, Näin ollen lisätä(0,Li) etkä yksinkertainen lisää() vetoaminen.).

Aion säätämistä tämä vähän ennen, että olen todella tyytyväinen ListBox käyttäytyminen mutta malli yllä on ollut erittäin hedelmällistä.  Toivottavasti joku löytää apua.

</loppu>

undefinedTilaa blogiin.

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

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