კატეგორია არქივი: Windows მაღაზია

სწრაფი და მარტივი: მითითებული ზომა პროდუქტი სია ყუთი Windows მაღაზია ოთახი

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

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

        შეტყობინების ცნოს AddGameStateLogMessage(სიმებიანი theMessage)
        {
            Textbox t = ახალი Textbox();
            t.Text = GameStateCounter     + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            სიმძლავრე thisPadding = ახალი სიმძლავრე(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem რომ = ახალი ListBoxItem();
            li.Content = t;
            li.MaxHeight = 25;
            thisPadding = ახალი სიმძლავრე(5, 0, 5, 0);
            li.Padding = thisPadding;

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

აღნიშნულ, მე ქმნის textbox და შექმნის თავის font, მისი padding, და ა.შ..

შემდეგი, შევქმნა ListBoxItem და დაადგინა მისი შინაარსი ფორმატირებული textbox.

და ბოლოს, მე ჩადეთ ListBoxItem შევიდა ListBox.  (მინდა ნახოთ უახლესი შეტყობინებები სიის სათავეში, აქედან გამომდინარე, კულტურა(0,li) ნაცვლად უბრალო დამატება() invocation.).

მე ვიქნები tweaking ამ ცოტა ადრე მე ნამდვილად კმაყოფილი ListBox საქციელი მაგრამ ნიმუში ნაჩვენებია ზემოთ უკვე საკმაოდ ნაყოფიერი იყო.  იმედია ვინმეს მიაჩნია სასარგებლო.

</ბოლო>

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

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

სწრაფი და მარტივი: გადატანა მართკუთხედი გამოყენებით 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