Monthly Archives: Ապրիլ 2013

Արագ եւ հեշտ: Տեղափոխել ուղղանկյան օգտագործելով C # - ի Windows Store App

Իմ օրագիրը ընդհանուր փիլիսոփայությունն է, որ դա կատարելապես լավ բլոգի մասին է, բնակություն առարկաներ, որոնք ընդգրկված մահվան է այլ աղբյուրից:  Ենթադրում եմ, այս թեման այն, բայց ես բլոգերներ այն դեպքում.

Ես արդեն աշխատում է մի պատուհանում խանութի ծրագրում, եւ ես այդ մասին, որտեղ ես պետք է անել ինչ - որ animating.  Այս նպատակով, Ինձ figuring, թե bits ու կտոր պատուհանների խանութների ծրագիրը անիմացիայի, որը, ինչպես պարզվում է, բավականին մոտ է, բայց ոչ այնպես, ինչպես, XAML հիմնված անիմացիաներ է: Net (Ես դեռ գալիս grips հետ, որ WinRT <> .NET 🙂 ).

Այս առավոտ ես ուզում ստանալ բռնակի վրա, քաշել եւ թողնել թ.  En երթուղին է, որը, Ես bogged են շարժվում է ուղղանկյան փոխարեն :).  Ահա կոդը, որը շարժվում է ուղղանկյան, երբ օգտագործողը կտտացնում կոճակը:

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

The հնարք այստեղ այն է, որ ես չեմ կարող փոխել, ուղղակիորեն կամ OffsetX OffsetY.  Այստեղ կարող է լինել շատ ավելի խելացի միջոց դրանով (եւ եթե դուք գիտեք, եւ զգում, խնդրեմ փակցնել մեկնաբանություններում). 

Որպեսզի դա անել, Ես ուզում եմ:

1. Ստացեք MatrixTransform է ուղղանկյան (ի ձուլման RenderTransform).

2. Ստացեք Matrix այդ տղայի.

3. Փոխել Matrix-ի դիսկ.

4. Reassign եւ Matrix դեպի MatrixTransform.

5. Reassign է MatrixTransform դեպի ուղղանկյան.

To փորձարկել այն, Ես դնում է ուղղանկյան եւ կոճակը էկրան. Երբ ես սեղմեք կոճակը, վերը տրամաբանությունը իրականացնում, եւ շարժվում է ուղղանկյան անմիջապես.

Ինչ - որ պահի, Ես ուզում եմ քաջալերել, բայց ես ոչ մի գաղափար, թե ինչպես ստանալ DoubleAnimation է աշխատել դրա վրա (Storyboard.SetTargetProperty() Սա առեղծված է, ինձ դա առայժմ).

</վերջ>

undefinedԱնդամագրվել իմ բլոգում.

Գտեք Twitter-ում http://www.twitter.com/pagalvin

Setting բարձրության ListboxItems Մի ListBox programmatically է Windows Store App

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. Այս նպատակով, Ես ավելացրել է ListBox հետեւյալ:

<ListBox x:Name ="GameStateLog" HorizontalAlignment ="Կենտրոն" Բարձրություն ="221" VerticalAlignment ="Վերեւ" Լայնությունը ="499" Լիցք ="0" FontSize ="10">

 

The C # կոդը բնակեցնելու նպատակով listbox է Runtime էր երկայնքով տողեր:

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. Փոխարենը ավելացնելով տողեր են Նյութերի հավաքածուի վրա: ListBox, 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,li);
        }

 

Here I’m creating ListBoxItem’s and inserting them. Ես հանել ավելցուկային լիցք ընդլայնված դրա հաստությունը.

Սա բավականին ճկուն է, քանի որ ես չեմ պատրաստվում անել ինչ - որ գույն կոդավորման կարեւորում որոշակի տեսակի հաղորդագրությունների եւ ուղղակիորեն ավելացնելով ListBoxItems եմ ոճը, նրանց որեւէ կերպ ուզում.

Hope this helps մեկին!

</վերջ>

undefinedԱնդամագրվել իմ բլոգում.

Գտեք Twitter-ում http://www.twitter.com/pagalvin