Aylıq Arxiv: Aprel 2013

Tez və asan: Windows Store App C # istifadə edərək bir düzbucaqlı hərəkət

Mənim ümumi blog fəlsəfə köhnə blog üçün mükəmməl gözəl ki,, başqa yerdə ölüm əhatə edilmişdir ki, fənlər məskunlaşmışdır.  Bu mövzu o biri kəsb, amma hər halda bu blog alıram.

Mən bir pəncərə mağaza app iş etdik və mən bir canlandırmanın etmək lazımdır harada hissəsində edirəm.  Bu məqsədlə, Mən bit və Windows mağaza app animasiya ədəd figuring etdiyiniz, O çıxır kimi, olduqca yaxın, lakin dəqiq kimi, XAML. Xalis animasiyalar əsasən (Mən hələ ki, WinRT faktı ilə kulpları gəlirəm <> .NET 🙂 ).

Bu gün səhər mən drag and drop əməliyyatlar üzrə bir qolu almaq istəyirdilər.  Ki marşrutu, Mən əvəzinə bir düzbucaqlı hərəkət aşağı bataqlıqlaşmışdır oldu :).  Burada istifadəçi düyməsinə klik bir düzbucaqlı hərəkət kodu var:

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

Burada oyun Doğrudan OffsetX ya OffsetY dəyişə bilməz ki.  Bunu daha ağıllı yol ola bilər (və bildiyiniz və kimi hiss əgər, Yorum göndərin). 

Bunu etmək üçün, Mən lazım:

1. Olan düzbucaqlı MatrixTransform alın (tökmə RenderTransform tərəfindən).

2. Ki, oğlan Matrix alın.

3. Matrix-in offsets Change.

4. Ki, MatrixTransform geri Matrix redesign.

5. Dikdörtgen üçün MatrixTransform geri redesign.

Onu yoxlamaq üçün, Mən bir düzbucaqlı və düyməsinə ekran qoymaq. Mən düyməsini basın zaman, Yuxarıda məntiq icra və dərhal düzbucaqlı hərəkət.

Bir anda, Mən bu diri istədiyiniz lakin mən bu iş üçün DoubleAnimation almaq üçün necə heç bir fikrim yoxdur (Storyboard.SetTargetProperty() hazırda bu barədə mənə bir sirr deyil).

</son>

undefinedBlog abunə.

Da Twitter məni izləyin http://www.twitter.com/pagalvin

Windows Store App üçün program ListBox ildə ListboxItems hündürlüyü qurulması

I’m working on a windows store application and one of the things I want to do in the app is display a log that shows status messages and other informational tidbits as the user works things. Bu məqsədlə, Mən ListBox aşağıdakı kimi əlavə:

<ListBox x:= Adlandırın"GameStateLog" = HorizontalAlignment"Mərkəz" Height ="221" = VerticalAlignment"Yuxarı" Width ="499" Padding ="0" = Yazı tipi ölçüsü"10">

 

Zamanı da listbox yaşayır üçün C # kodu xətt idi:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Yeni oyun dövlət: Oyunçu üçün gözləyir 1 ad");

This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. Mən son istifadəçilər bu öğeleri seçin, lakin mən yalnız günlük mesaj çalışan sıra göstərmək istəyirəm zaman mənada etmir etmək istəyirəm, əgər anlamlı - Indi bu seçin deyil, just view them. Bu arguably Bunu etmək üçün asan yol tapmaq üçün qəribə çətin idi və, the way I found it isn’t necessarily “easy” but I got it working OK. Əsas fikir bu poçt gəldi burada (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. Əvəzinə ListBox öğeleri toplanması strings əlavə, add ListBoxItems. Bir simli əlavə, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. Yeni kodu edir:

        xüsusi ləğv AddGameStateLogMessage(sim theMessage)
        {
            ListBoxItem ki = yeni ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Qalınlığı = thisPadding yeni Qalınlıq(5, 0, 5, 0);
            = thisPadding li.Padding;

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

 

Here I’m creating ListBoxItem’s and inserting them. Mən onun qalınlığı ayarlayarak artıq padding çıxarılıb.

Mən mesaj xüsusi növ vurğulamaq üçün kodlaşdırma bir rəng etmək və birbaşa ListBoxItems əlavə I stil onlara istəyirəm hər hansı bir şəkildə almaq istəyirlər Bu olduqca çevik edir.

Bu kimsə kömək ümid edirik!

</son>

undefinedBlog abunə.

Da Twitter məni izləyin http://www.twitter.com/pagalvin