ყოველთვიური არქივი: აპრილი 2013

სწრაფი და მარტივი: გადატანა მართკუთხედი გამოყენებით C # In Windows მაღაზია ოთახი

ჩემი მთლიანობაში წაკითხვა ფილოსოფია არის, რომ ეს შესანიშნავად ჯარიმა წაკითხვა ძველი, დასახლებული სუბიექტები, რომლებიც დაფარული სიკვდილით მის ფარგლებს გარეთ.  მე ვივარაუდოთ, ეს თემა ერთ იმ, მაგრამ მე ბლოგინგი მაინც.

მე მუშაობა ფანჯრის მაღაზია ოთახი და მე ერთი ნაწილი, სადაც მე უნდა გავაკეთოთ ზოგიერთი animating.  ამ მიზნით, მე მჭიდროდაა out ბიტი და ცალი ფანჯარა შენახვის ოთახი ანიმაცია, რომელიც, როგორც ირკვევა,, საკმაოდ ახლოს, მაგრამ არა ზუსტად ისევე, როგორც, XAML საფუძველზე ანიმაციის წელს. NET (მე აქეთ მოდის გაუსწოროს ფაქტს, რომ WinRT <> .NET 🙂 ).

დღეს დილით მე მინდოდა სახელური, გადააადგილება ოპერაციებში.  მიემართებოდა, რომ, მე მივიღე bogged ქვემოთ მოძრავი მართკუთხედი ნაცვლად :).  აი კოდი, რომელიც მოძრაობს მართკუთხედი, როდესაც მომხმარებელი იმოქმედებს ღილაკზე:

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

შეასრულა ისაა, რომ მე არ შემიძლია პირდაპირ შეცვალოს OffsetX ან OffsetY.  ამისთვის შეიძლება იყოს უფრო ჭკვიანი გზა ამით (და თუ თქვენ იცით და გრძნობენ, როგორც, გთხოვთ ჩანაწერები კომენტარები). 

იმისათვის, რომ ამის გაკეთება, მე უნდა:

1. მიიღეთ MatrixTransform of ოთხკუთხედი (by ჩამოსხმის RenderTransform).

2. მიიღეთ Matrix, რომ ბიჭი.

3. შეცვლა Matrix-ის ჩათვლის.

4. Reassign Matrix უკან MatrixTransform.

5. Reassign MatrixTransform უკან მართკუთხედი.

ამის შესამოწმებლად ეს, მე ზუსტად ოთხკუთხედის და ღილაკს ეკრანზე. როცა ღილაკს, ზემოთ ლოგიკა გაუშვებს და მოძრაობს მართკუთხედი დაუყოვნებლივ.

რაღაც მომენტში, მე მინდა animate, მაგრამ არ ვიცი როგორ უნდა DoubleAnimation მუშაობა (Storyboard.SetTargetProperty() არის საიდუმლო, რომ მე ამ დროისათვის).

</ბოლო>

undefinedგამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

შექმნის სიმაღლე ListboxItems In ListBox პროგრამულად for Windows მაღაზია ოთახი

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:სახელი ="GameStateLog" HorizontalAlignment ="ცენტრი" სიმაღლე ="221" VerticalAlignment ="ყველაზე" ტელეკომპანია"499" Padding ="0" FontSize ="10">

 

C # კოდს populate listbox at 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. იმის ნაცვლად, დასძინა strings to ნივთი შეგროვების 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. მე ამოღებულ ჭარბი padding მიიღწევა მისი სისქე.

ეს არის საკმაოდ მოქნილი, როგორც მე ვაპირებ ზოგიერთი ფერადი კოდირების ხაზი გავუსვა კონკრეტული სახის შეტყობინებები და უშუალოდ დასძინა ListBoxItems მივიღებ სტილი მათ არანაირად მინდა.

იმედი მაქვს, ეს ეხმარება ვინმე!

</ბოლო>

undefinedგამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin