Etiket Arşivleri: Windows Store

Hızlı ve kolay: Bir Windows Store App bir liste kutusuna bir öğe boyutunu ayarlama

Bir Windows Store App ben yaratıyorum., Kullanıcı çeşitli bilgi iletileri göstermek istiyorum.  Onlar onları ve o güzel şeyleri kullanabilecekleri göstermek için aracı olarak bir liste kutusu aldı. 

İletileri yalnızca bilgilendirme, böylece kullanıcı asla onları için bir şey seçebilirsiniz beri çevrelerindeki tüm bu ekstra boşluk sağlamak için gerek yoktur.  Liste kutusu varsayılan davranışını doldurma önemli bir miktar sağlar ve ondan kurtulmak istedim.  Şey.... Böyle şeyler ListBox üzerinde doğrudan yapamam.  ANCAK, eklediğiniz öğeler yapabilirsin:

        Özel geçersiz AddGameStateLogMessage(dize Henüz)
        {
            Metin kutusu t = Yeni Metin kutusu();
            t.Text GameStateCounter    = + ": " + Henüz;
            t.TextWrapping TextWrapping.Wrap =;
            t.MinWidth = 400;
            Kalınlığı thisPadding = Yeni Kalınlığı(5, 0, 5, 0);
            t.Padding thisPadding =;
            t.FontSize = 12;

            ListBoxItem li = Yeni ListBoxItem();
            li.İçerik = t;
            li.MaxHeight = 25;
            thisPadding = Yeni Kalınlığı(5, 0, 5, 0);
            li.Doldurma thisPadding =;

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

belgili tanımlık yukarıda içinde, Ben bir metin kutusu oluşturma ve yazı tiplerini ayarlama, onun doldurma, vb.

Sonraki, ListBoxItem oluşturmak ve içeriğini biçimlendirilmiş metin kutusu için ayarlayın.

Nihayet, ListBoxItem ListBox yerleştirin.  (Listenin üstündeki en son iletileri göstermek istiyorum., Dolayısıyla ekleme(0,Li) basit bir Ekle yerine() çağırma.).

Ben bu önce biraz ListBox davranışı ile çok mutluyum ama yukarıda gösterilen deseni çok verimli oldu tweaking.  Umarım başkası yararlı bulur.

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

ListboxItems yüksekliği bir liste kutusunda program aracılığıyla Windows Store App için ayarlama

Windows depolama uygulaması üzerinde çalışıyorum ve app yapmak istediğim şeyleri biri kullanıcı şeyler çalışırken durum iletilerini ve diğer bilgi çerez gösteren bir günlüğü görüntülemek. Bu amaçla, Aşağıdaki gibi bir liste kutusu eklendi:

<ListBox x:Adı ="GameStateLog" HorizontalAlignment ="Merkezi" Yükseklik ="221" VerticalAlignment ="Sayfanın Üstü" Genişlik ="499" Doldurma ="0" FontSize ="10">

 

Liste kutusu, çalışma zamanında doldurmak için C# kod satırları birlikte yapıldı.:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Yeni oyun devlet: oyuncu için bekliyor 1 adı");

Bu yeterince iyi çalıştı ama eklendikleri gibi UI iletileri tek tek çevresindeki doldurma çılgın bir miktar gösterdi. Eğer ben bu öğeleri seçmek son kullanıcıların istiyorum ama mantıklı değildir zaman çalışan bir dizi günlük ileti göstermek istiyorum-kullanıcı bunlar seçme değil mantıklı, Sadece onları görmek. Garip bir şekilde bunu yapmak için kolay bir yol bulmak zor ve tartışmalı, ı kurmak o yolu mutlaka "kolay" yok ama Tamam çalıştırdım. Belgili tanımlık anahtar kavrama bu mesaj geldi Burada (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) Bob Relyea. ListBox öğeleri derlemesine dizeleri eklemek yerine, ListBoxItems Ekle. Bir dize ekleyerek, liste kutusu, kendi kendi ListBoxItem oluşturmaktı. Ben o ListBoxItem hakkında hiçbir şey gerçeği sonra etkiler mümkün değildi. Yeni kodu:

        Özel geçersiz AddGameStateLogMessage(dize Henüz)
        {
            ListBoxItem li = Yeni ListBoxItem();
            li.İçerik henüz =;
            li.MaxHeight = 25;

            Kalınlığı thisPadding = Yeni Kalınlığı(5, 0, 5, 0);
            li.Doldurma thisPadding =;

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

 

Burada ListBoxItem'ın yaratıyorum ve onları ekleme. Ben aşırı doldurma kalınlığı ayarlayarak kaldırıldı.

Bu gibi bazı renk belirli ileti türlerini vurgulamak için kodlama yapmak niyetinde ve doğrudan ListBoxItems ekleyerek onları istediğim herhangi bir şekilde stil almak oldukça esnek.

Bu kimse yardımcı olur!

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin