أرشيفات الإشارات: مخزن Windows

سريعة وسهلة: تعيين حجم العناصر في مربع قائمة في تطبيق مخزن Windows

في "المتجر" ويندوز وأنا خلق, أريد أن تظهر للمستخدم الرسائل الإعلامية المختلفة.  وقد اخترت ListBox كالأداة إظهار أنها بحيث أنها يمكن التمرير خلال الأشياء لهم وكل شيء على ما يرام. 

الرسائل معلوماتية فقط, لذا ليس هناك حاجة لتوفير مسافة بيضاء إضافية كل ما حولها حيث يمكن للمستخدم تحديد لهم ابدأ أي شيء.  السلوك الافتراضي ل ListBox يوفر كمية كبيرة من الحشو، وكنت أرغب في التخلص منه.  حسنا.... لا يمكنك أن تفعل هذا النوع من الشيء في ListBox مباشرة.  ومع ذلك, يمكنك القيام بذلك للبنود التي يمكنك إضافة:

        القطاع الخاص باطلة أدجاميستاتيلوجميساجي(السلسلة ثيميساجي)
        {
            مربع النص t = الجديد مربع نص();
            t.Text = جاميستاتيكونتير     + ": " + ثيميساجي;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            سمك ثيسبادينج = الجديد سمك(5, 0, 5, 0);
            t.Padding = ثيسبادينج;
            t.FontSize = 12;

            ليستبوكسيتيم لي = الجديد ليستبوكسيتيم();
            لي.المحتوى = t;
            لي.ماكسهيت = 25;
            ثيسبادينج = الجديد سمك(5, 0, 5, 0);
            لي.الحشو = ثيسبادينج;

            GameStateLog.Items.Insert(0,لي);
        }

في ما ورد أعلاه, أنا إنشاء مربع نص وتعيين الخط الخاص به, الحشو, إلخ.

القادم, إنشاء ليستبوكسيتيم، وتعيين مضمونة إلى مربع نص منسق.

وأخيراً, أنا أدخل ليستبوكسيتيم في ListBox.  (أريد إظهار أحدث الرسائل في الجزء العلوي من القائمة, ومن ثم الإدراج(0,لي) بدلاً من إضافة بسيطة() الاحتجاج.).

أنا سوف يكون اللف هذا قليلاً قبل أنا حقاً سعيدة مع السلوك ListBox ولكن نمط المبينة أعلاه كان مثمرا جداً.  نأمل شخص آخر يرى أنه من المفيد.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

تعيين ارتفاع ليستبوكسيتيمس في ListBox برمجياً للمتجر ويندوز

أنا أعمل على تطبيق مخزن windows وهو أحد الأشياء التي أريد القيام به في التطبيق عرض سجل يوضح مركز الرسائل والحكايات الإعلامية الأخرى كما يعمل المستخدم الأشياء. وتحقيقا لهذه الغاية, وأضفت ListBox كما يلي:

<ListBox x:اسم ="جاميستاتيلوج" هوريزونتالاليجنمينت ="مركز" الارتفاع ="221" فيرتيكالاليجنمينت ="أعلى" العرض ="499" الحشو ="0" FontSize ="10">

 

وكان رمز C# لملء مربع القائمة في وقت التشغيل على غرار:

GameStateLog.Items.Insert(0, جاميستاتيكونتير     + ": الدولة لعبة جديدة: في انتظار لاعب 1 الاسم");

هذا عملت غرامة ما يكفي ولكن واجهة المستخدم تبين كمية مجنون الحشو حول الرسائل الفردية كما أنها أضيفت. معنى إذا أريد المستخدمين النهائيين لتكون قادرة على تحديد هذه العناصر ولكن لا معنى له عندما أريد فقط أن تظهر سلسلة تشغيل رسائل سجل – لن يقوم المستخدمون بتحديد هذه, مجرد الاطلاع عليها. أنه من الغريب من الصعب العثور على طريقة سهلة للقيام بذلك، ويمكن القول أن, الطريقة التي وجدت أنها ليست بالضرورة "سهلة" ولكن حصلت عليه يعمل موافق. جاءت فكرة رئيسية من هذا النشر هنا (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) من ريليا بوب. بدلاً من إضافة السلاسل إلى مجموعة عناصر في ListBox, إضافة ليستبوكسيتيمس. عن طريق إضافة سلسلة, وكان إنشاء ListBox ليستبوكسيتيم الخاصة به بمفردها. لم أكن قادرة على أن تؤثر على أي شيء حول هذا ليستبوكسيتيم بعد وقوعها. رمز جديد:

        القطاع الخاص باطلة أدجاميستاتيلوجميساجي(السلسلة ثيميساجي)
        {
            ليستبوكسيتيم لي = الجديد ليستبوكسيتيم();
            لي.المحتوى = ثيميساجي;
            لي.ماكسهيت = 25;

            سمك ثيسبادينج = الجديد سمك(5, 0, 5, 0);
            لي.الحشو = ثيسبادينج;

            GameStateLog.Items.Insert(0,لي);
        }

 

هنا أنا خلق في ليستبوكسيتيم وإدخالها. إزالة الحشو الزائد بوضع سمكة.

هذه مرنة جداً كما أنني أنوي القيام ببعض لون الترميز لتسليط الضوء على أنواع معينة من الرسائل وعن طريق إضافة مباشرة ليستبوكسيتيمس احصل على أسلوب لهم أي الطريقة التي أريدها.

أمل أن يساعد هذا شخص!

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin