Месечни архиви: Април 2013

Брз и лесен: Се движат правоаголник Користење на C # во Windows од App Store

Целокупната ми блог филозофија е дека тоа е совршено во ред да блог за стари, се населиле предмети кои се опфатени со смрт на друго место.  Претпоставувам оваа тема е една од оние, но јас сум таа блогирањето во секој случај.

Сум работел на прозорецот од App Store и јас сум во делот каде што треба да направите некои раздвижи.  За таа цел, Сум бил пронајдат парчиња и делови на Windows продавницата стан анимација која, како што излезе, е доста блиску до, но не баш како, XAML врз анимации во. НЕТ (Јас сум уште доаѓаат во костец со фактот дека WinRT <> .NET 🙂 ).

Утрово сакав да се добие рачка на drag and drop операции.  На патот кон кои, Добив заглави движат правоаголник наместо :).  Еве го кодот што се движи правоаголник кога корисникот ќе кликне на копчето:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Матрица m = ct.Matrix;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct.Matrix = m;
   7:              rectBig.RenderTransform = ct;

Трикот тука е дека јас не може директно да се промени OffsetX или OffsetY.  Може да има повеќе умен начин на вршење на оваа (и ако знаеш и се чувствувам како, Ве молиме да ја објавите во коментари). 

Со цел да го направите ова, Јас треба да:

1. Добие MatrixTransform на правоаголникот (со лиење RenderTransform).

2. Добие Матрица на тоа момче.

3. Промена неутрализира Матрикс е.

4. Преназначаване Матрикс назад кон MatrixTransform.

5. Преназначаване на MatrixTransform назад кон правоаголник.

За да го пробате, Ставив правоаголник и копчето на екранот. Кога ќе кликнете на копчето, горенаведените логика извршува и се движи на правоаголник веднаш.

Во одреден момент, Би сакал да се анимираат ова, но јас немам идеја како да се добие DoubleAnimation да работат на тоа (Storyboard.SetTargetProperty() е мистерија за мене на оваа засега).

</крајот>

undefinedДа се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Поставување на висината на ListboxItems Во листата Програмски за Windows од App Store

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. За таа цел, Јас додадов листата како што следува:

<Листата х:Име ="GameStateLog" HorizontalAlignment ="Центар" Height ="221" VerticalAlignment ="Топ" Width ="499" Баласт ="0" FontSize ="10">

 

C # кодот за да се доверат на листата на траење беше должината на линиите на:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Нова игра држава: чекајќи плеер 1 име");

This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. Кој што има смисла ако сакам крајните корисници да бидат во можност да изберете овие предмети, но нема никаква смисла кога јас само сакаат да покажат трчање серија на пораки од дневникот - корисниците нема да изберете овие, just view them. Тоа беше чудно тешко да се најде лесен начин да се направи ова и веројатно, the way I found it isn’t necessarily “easy” but I got it working OK. Клучот увид дојде од оваа вест тука (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. Наместо да додаваме стрингови за да се предмети колекција на листата, add ListBoxItems. Со додавање на стринг, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. Новиот код е:

        приватни поништат AddGameStateLogMessage(низа theMessage)
        {
            ListBoxItem дека = нови ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Дебелина thisPadding = нови Дебелина(5, 0, 5, 0);
            li.Padding = thisPadding;

            GameStateLog.Items.Insert(0,Ли);
        }

 

Here I’m creating ListBoxItem’s and inserting them. Јас отстранети вишокот на баласт со поставување нејзината дебелина.

Ова е прилично флексибилни како што јас немам намера да се направи некои боја кодирање за да се потенцира одредени видови на пораки и со директно додавање ListBoxItems стигнам до стилот нив било кој начин сакам.

Се надеваат дека ова им помага на некој!

</крајот>

undefinedДа се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin