فئة المحفوظات: مخزن 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

سريعة وسهلة: تحريك مستطيل باستخدام C# في تطبيق مخزن Windows

فلسفتي بلوق عموما أنه ما يرام تماما بلوق عن القديم, تسوية المواضيع التي تم تغطيتها حتى الموت في مكان آخر.  افترض أن هذا الموضوع واحد من هؤلاء, ولكن أنا المدونات أنها على أي حال.

لقد تم العمل على نافذة المتجر وأنا في الجزء حيث تحتاج إلى القيام ببعض الحركات.  وتحقيقا لهذه الغاية, لقد تم معرفة بت وقطع من windows تخزين التطبيق الرسوم المتحركة التي, كما اتضح, هي قريبة جداً, ولكن ليس بالضبط مثل, XAML على أساس الرسوم المتحركة في.NET (أنا لا تزال قادمة على السيطرة على الحقيقة أن وينرت <> .صافي 🙂 ).

هذا الصباح كنت أرغب في الحصول على مقبض على سحب وإسقاط عمليات.  في الطريق إلى أن, أنا حصلت متورطة في تحريك مستطيل بدلاً من ذلك :).  هنا هو التعليمات البرمجية التي ينتقل مستطيل عندما ينقر المستخدم فوق زر:

   1:   
   2:              ط م ماتريكسترانسفورم = (ماتريكسترانسفورم)rectBig.RenderTransform;
   3:              مصفوفة m = ct.مصفوفة;
   4:                = m.OffsetX 10;
   5:                = m.OffsetY 10;
   6:              ct.مصفوفة = m;
   7:              rectBig.RenderTransform = ct;

الحيلة هنا أن لا أستطيع تغيير مباشرة أوفسيتكس أو أوفسيتي.  قد تكون هناك طريقة أكثر ذكية للقيام بذلك (وإذا كنت تعرف وتشعر مثل, الرجاء نشر في التعليقات). 

ولكي نفعل هذا, بحاجة إلى:

1. الحصول على ماتريكسترانسفورم المستطيل (بصب رينديرترانسفورم).

2. الحصول على المصفوفة من هذا الرجل.

3. تغيير الإزاحة للمصفوفة.

4. إعادة تعيين المصفوفة مرة أخرى إلى ماتريكسترانسفورم.

5. إعادة تعيين ماتريكسترانسفورم العودة إلى المستطيل.

لاختبار, وضع مستطيل، والزر الشاشة. عند النقر فوق الزر, ينفذ المنطق أعلاه وينتقل المستطيل فورا.

في بعض نقطة, أود أن تحريك هذا ولكن ليس لدى أي فكرة عن كيفية الحصول دوبلينيميشن للعمل على ذلك (Storyboard.SetTargetProperty() ويجري لغزا بالنسبة لي في هذه المرة).

</نهاية>

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