miesięczne archiwum: Kwietnia 2013

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