Kategoria: Archiwum: Windows Store

Szybkie i łatwe: Ustaw wielkość elementów w polu listy w App Windows Store

W Windows Store App tworzę, Chcę pokazać użytkownikowi różne komunikaty informacyjne.  Wybrałem ListBox jako narzędzie, aby pokazać je tak, że mogą one przewijać je i wszystko, co dobre rzeczy. 

Wiadomości mają wyłącznie charakter informacyjny, tak jest nie ma potrzeby, aby zapewnić wszystkich, że dodatkowe spacje wokół nich, ponieważ użytkownik nigdy nie może wybrać im do niczego.  Domyślne zachowanie elementu ListBox stanowi znaczną część dopełnienie i chciałem się go pozbyć.  Dobrze.... bezpośrednio nie można zrobić tego rodzaju rzeczy na ListBox.  JEDNAK, można to zrobić do elementów, które można dodać:

        prywatne nieważne AddGameStateLogMessage(ciąg Wiadomości)
        {
            Pole tekstowe t = Nowy Pole tekstowe();
            t.Text = GameStateCounter    + ": " + Wiadomości;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Grubość thisPadding = Nowy Grubość(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = Nowy ListBoxItem();
            li.Treść = t;
            li.MaxHeight = 25;
            thisPadding = Nowy Grubość(5, 0, 5, 0);
            li.Uzupełnienie = thisPadding;

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

w powyższym, Jestem utworzenie pola tekstowego i ustawienie jej czcionki, jego dopełnienie, itp.

Następny, Tworzenie ListBoxItem i ustawić jego zawartości do pola tekstowego sformatowanego.

Wreszcie, Wstawić ListBoxItem do listy.  (Chcę pokazać najnowsze wiadomości w górnej części listy, stąd Insert(0,Li) a nie proste Dodawanie() wywołania.).

I będzie się szczypanie to nieco wcześniej, jestem naprawdę zadowolony z zachowaniem ListBox, ale wzór pokazany powyżej była bardzo owocna.  Mam nadzieję, że ktoś znajdzie to pomocne.

</koniec>

undefinedSubskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Szybkie i łatwe: Przenieś prostokąta przy użyciu C# w App Windows Store

Moja ogólna filozofia blog jest to, że perfekcyjnie do blogu o starym, osiedlili się przedmioty, które zostały objęte do śmierci gdzie indziej.  Zakładam, że ten temat jest jednym z tych, ale jestem blogów to tak.

Pracuję na app store okno i jestem w części, gdzie trzeba zrobić kilka animacji.  W tym celu, Już było rozszyfrowanie kawałki i kawałki systemu przechowywania aplikacji animacji który, jak się okazuje, jest dość blisko, ale nie dokładnie tak, jak, XAML na animacje w .NET (Nadal jestem najbliższych uporać się z tym że WinRT <> .NET 🙂 ).

Dziś rano chciałem uzyskać uchwyt na przeciągnij i upuść operacji.  W drodze do tego, Dostał przeciążony ruchu prostokąt zamiast :).  Oto kod, który przenosi prostokąta, gdy użytkownik kliknie przycisk:

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

Sztuką jest to, że nie można bezpośrednio zmienić OffsetX lub OffsetY.  Może być bardziej sprytny sposób robi to (i jeśli wiemy i czujemy się, w komentarzach proszę pisać). 

W tym celu, I trzeba:

1. Dostać MatrixTransform prostokąta (oddając RenderTransform).

2. Dostać macierz tego faceta.

3. Zmiana przesunięcia Matrix.

4. Przypisania macierzy powrót do MatrixTransform.

5. Przypisać MatrixTransform powrót do prostokąta.

Do testów, Umieść prostokąt i przycisk ekranu. Po kliknięciu przycisku, powyżej logiki wykonuje i natychmiast przenosi prostokąt.

W pewnym momencie, Czy chcesz animować to ale nie mam pojęcia jak się DoubleAnimation do pracy na to (Storyboard.SetTargetProperty() jest dla mnie zagadką na to czas).

</koniec>

undefinedSubskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Ustawienie wysokości ListboxItems w ListBox programowo dla Windows Store App

Pracuję w sklepie aplikacji systemu windows i jest jedną z rzeczy, które chcę robić w app wyświetlanie dziennika, który pokazuje stan wiadomości i inne ciekawostki informacyjne użytkownika działa rzeczy. W tym celu, Dodałem ListBox następująco:

<ListBox x:Nazwa ="GameStateLog" HorizontalAlignment ="Centrum" Wysokość ="221" HorizontalAlignment ="Do góry" Szerokość ="499" Uzupełnienie ="0" FontSize ="10">

 

Kod C# do wypełniania listy w czasie wykonywania został wzdłuż linii:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Nowy stan gry: czekam na graczy 1 Nazwa");

To pracował dobrze wystarczy ale UI pokazał szalonej ilości wyściółka wokół pojedynczych wiadomości, jak zostały dodane. Ma to sens, jeśli chce użytkowników końcowych, aby móc zaznaczyć te elementy, ale nie ma sensu kiedy tylko chcą pokazać szereg bieżących wiadomości dziennika – użytkownik nie będzie wybierać te, po prostu zobacz je. Było dziwnie trudno znaleźć łatwy sposób to zrobić i zapewne, sposób I stwierdziła, że nie jest koniecznie "łatwe", ale ja dostał ono działanie OK. Klucz wgląd pochodzi ten komentarz tutaj (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) z Bob Relyea. Zamiast dodawania napisów do kolekcja elementów w polu listy, Dodaj ListBoxItems. Przez dodanie napisu, ListBox było stworzenie własnej ListBoxItem na własną. Nie był w stanie wpływać na coś o tym ListBoxItem po fakcie. Nowy kod jest:

        prywatne nieważne AddGameStateLogMessage(ciąg Wiadomości)
        {
            ListBoxItem li = Nowy ListBoxItem();
            li.Treść wiadomości =;
            li.MaxHeight = 25;

            Grubość thisPadding = Nowy Grubość(5, 0, 5, 0);
            li.Uzupełnienie = thisPadding;

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

 

Tutaj jestem tworzenia ListBoxItem's i wstawianie ich. Usunąłem nadmiar dopełnienie przez ustawienie jego grubości.

To jest dość elastyczny, jak zamierzają zrobić jakiś kolor kodowania, aby wyróżnić poszczególne typy wiadomości i dodając bezpośrednio ListBoxItems pojawia się styl ich w żaden sposób nie chcę.

Spodziewaæ siê ten wspó³pracownik ktoœ!

</koniec>

undefinedSubskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin