Arkib Kategori: Windows Store

Pantas dan Mudah: Tetapkan Saiz a Item dalam Box Senarai dalam Windows App Store

Dalam Windows App Store Saya mewujudkan, Saya ingin menunjukkan pelbagai pengguna mesej maklumat.  Saya mengambil ListBox sebagai alat untuk menunjukkan ia supaya mereka boleh menatal melalui mereka dan semua barangan yang baik. 

Mesej adalah maklumat sahaja, jadi tidak ada keperluan untuk menyediakan semua bahawa ruang putih tambahan di sekitar mereka kerana pengguna tidak boleh memilih mereka untuk apa-apa.  Kelakuan lalai ListBox menyediakan sejumlah besar padding dan saya mahu menyingkirkan ia.  Nah .... anda tidak boleh melakukan perkara seperti di ListBox secara langsung.  Bagaimanapun, anda boleh melakukannya dengan perkara-perkara yang anda tambah:

        swasta membatalkan AddGameStateLogMessage(rentetan theMessage)
        {
            Textbox t = baru Textbox();
            t.Text = GameStateCounter     + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Ketebalan thisPadding = baru Ketebalan(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem yang = baru ListBoxItem();
            li.Content = t;
            li.MaxHeight = 25;
            thisPadding = baru Ketebalan(5, 0, 5, 0);
            li.Padding = thisPadding;

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

di atas, Saya mewujudkan textbox dan menetapkan tulisan yang, padding yang, dan sebagainya..

Seterusnya, Saya mencipta ListBoxItem dan menetapkan kandungan untuk ruangan yang diformat.

Akhirnya, Saya memasukkan ListBoxItem ke ListBox itu.  (Saya ingin menunjukkan mesej yang paling baru-baru ini di bahagian atas senarai, itu Sisip(0,li) bukannya Add mudah() doa.).

Saya akan Tweaker ini sedikit sebelum saya benar-benar berpuas hati dengan tingkah laku ListBox tetapi corak yang ditunjukkan di atas telah sangat berhasil.  Mudah-mudahan orang lain mendapati ia membantu.

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Pantas dan Mudah: Bergerak Rectangle Menggunakan C # Dalam Windows App Store

Falsafah blog saya secara keseluruhan adalah bahawa ia adalah betul-betul halus untuk blog tentang lama, diselesaikan mata pelajaran yang telah ditutup untuk mati di tempat lain.  Saya menganggap topik ini adalah salah seorang daripada mereka, tetapi saya menulis blog teruskan.

Saya telah bekerja di sebuah kedai aplikasi tingkap dan saya di bahagian mana saya perlu melakukan beberapa animasi.  Untuk tujuan ini, Saya telah memikirkan bit dan keping tingkap kedai aplikasi animasi yang, kerana ia ternyata, agak dekat dengan, tetapi tidak sama seperti, XAML berdasarkan animasi dalam. BERSIH (Saya masih datang ke genggaman dengan hakikat bahawa WinRT <> .NET 🙂 ).

Pagi ini saya ingin mendapatkan mengendalikan operasi seret dan lepaskan.  Perjalanan dengan, Saya mendapat sibuk bergerak persegi panjang dan bukannya :).  Berikut adalah kod yang bergerak segiempat tepat apabila pengguna klik butang:

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

Silap mata di sini adalah bahawa saya tidak boleh terus menukar OffsetX atau OffsetY.  Mungkin ada cara yang lebih bijak untuk berbuat demikian (dan jika anda tahu dan merasa seperti, sila pos dalam komen). 

Dalam usaha untuk melakukan ini, Saya perlu:

1. Dapatkan MatrixTransform segi empat (oleh pemutus RenderTransform).

2. Dapatkan Matrix lelaki yang.

3. Perubahan ofset Matrix ini.

4. Menyerahhakkan semula Matrix kembali ke MatrixTransform yang.

5. Menyerahhakkan semula kembali MatrixTransform untuk Persegi.

Untuk menguji, Saya meletakkan segi empat dan butang skrin. Apabila saya klik butang, logik di atas melaksanakan dan bergerak persegi panjang dengan segera.

Pada satu ketika, Saya ingin bernyawa ini tetapi saya tidak mempunyai idea bagaimana untuk mendapatkan DoubleAnimation untuk bekerja di atasnya (Storyboard.SetTargetProperty() adalah satu misteri kepada saya mengenai perkara ini pada masa itu).

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Menetapkan Ketinggian ListboxItems Dalam ListBox a programatik untuk Windows App Store

Saya bekerja pada sebuah tingkap kedai aplikasi dan salah satu daripada perkara-perkara yang saya ingin lakukan dalam aplikasi memaparkan log yang menunjukkan mesej status dan perkara maklumat lain seperti kerja-kerja pengguna perkara-perkara. Untuk tujuan ini, Saya menambah ListBox sebagai berikut:

<ListBox x:Nama ="GameStateLog" HorizontalAlignment ="Pusat" Ketinggian ="221" VerticalAlignment ="Top" Lebar ="499" Padding ="0" FontSize ="10">

 

C # kod untuk mengisi listbox di runtime adalah sepanjang garis:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Negeri permainan baru: menunggu bagi pemain 1 Nama");

Ini bekerja denda cukup tetapi UI menunjukkan sejumlah gila pad sekitar mesej individu kerana mereka telah ditambah. Yang masuk akal jika saya mahu pengguna akhir untuk dapat memilih barang-barang tetapi tidak masuk akal apabila saya hanya mahu menunjukkan siri berjalan mesej log - pengguna tidak akan memilih ini, hanya melihat mereka. Ia adalah pelik sukar untuk mencari cara yang mudah untuk melakukan ini dan boleh dikatakan, cara yang saya dapati ia tidak semestinya "mudah" tetapi saya dapat bekerja OK. Wawasan utama datang dari posting ini di sini (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) dari Bob Relyea. Sebaliknya menambah tali untuk koleksi Item pada ListBox, Tambah ListBoxItems. Dengan menambah rentetan, ListBox yang mencipta sendiri ListBoxItem sendiri. Saya tidak mampu menjejaskan apa-apa mengenai ListBoxItem itu selepas fakta. Kod baru:

        swasta membatalkan AddGameStateLogMessage(rentetan theMessage)
        {
            ListBoxItem yang = baru ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Ketebalan thisPadding = baru Ketebalan(5, 0, 5, 0);
            li.Padding = thisPadding;

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

 

Di sini saya membuat ListBoxItem's dan memasukkan mereka. Saya dibuang padding yang berlebihan dengan menetapkan ketebalan.

Ini adalah agak fleksibel kerana saya bercadang untuk melakukan beberapa kod warna untuk menyerlahkan jenis tertentu mesej dan dengan terus menambah ListBoxItems saya dapat gaya mereka apa-apa cara yang saya mahu.

Harap ini membantu seseorang!

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin