Archiwa tagów: 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

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