ماہانہ آرکائیو: اپریل 2013

فوری اور آسان: ونڈوز سٹور اپلی کیشن میں # سی کا استعمال کرتے ہوئے ایک مستطیل میں منتقل کریں

میری کل بلاگ فلسفہ یہ پرانے کے بارے میں بلاگ پر بالکل ٹھیک ہے یہ ہے کہ, کہیں اور موت شامل کیا گیا ہے کہ مضامین آباد.  میں نے اس موضوع پر ان میں سے ایک ہے فرض, لیکن میں نے ویسے بھی بلاگنگ کر رہا ہوں.

مجھے ایک ونڈو کی دکان اپلی کیشن پر کام کر رہا ہوں اور مجھے کچھ حرکت اندازی کرنے کی ضرورت ہے جہاں حصہ میں ہوں.  اس مقصد کے لئے, میں بٹس اور کھڑکیوں کی دکان اپلی کیشن حرکت پذیری کے ٹکڑوں باہر figuring کیا گیا ہے جس کے, یہ باہر کر دیتا ہے کے طور پر, کافی قریب ہے, لیکن بالکل نہیں کی طرح, XAML. جال میں متحرک تصاویر کی بنیاد پر (میں اب بھی اس WinRT حقیقت کے ساتھ grips کرنے کے لئے آ رہی ہوں <> .NET 🙂 ).

آج صبح میں ڈریگ اور ڈراپ آپریشن پر ایک ہینڈل حاصل کرنے کے لئے کرنا چاہتا تھا.  اس کے راستے, میں نے بجائے ایک مستطیل منتقل فنس گیا :).  یہاں صارف ایک بٹن پر کلک کرتا ہے جب ایک مستطیل چلتا ہے کہ کوڈ ہے:

   1:   
   2:              MatrixTransform CT = (MatrixTransform)rectBig.RenderTransform;
   3:              میٹرکس م = ct.Matrix;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct.Matrix = M;
   7:              rectBig.RenderTransform = CT;

یہاں چال میں براہ راست OffsetX یا OffsetY تبدیل نہیں کر سکتے ہیں.  ایسا کرنے کے ایک سے زیادہ ہوشیار طریقہ نہیں ہو سکتا (اور آپ جانتے ہیں اور ایسا محسوس ہو تو, تبصرے میں پوسٹ، براہ مہربانی). 

ایسا کرنے کے لئے, میں کرنے کی ضرورت ہے:

1. مستطیل کے MatrixTransform حاصل کریں (معدنیات سے متعلق RenderTransform کی طرف سے).

2. اس لڑکے کی میٹرکس حاصل کریں.

3. میٹرکس کی offsets تبدیل کریں.

4. MatrixTransform واپس میٹرکس Reassign.

5. مستطیل پر MatrixTransform واپس Reassign.

یہ ٹیسٹ کرنے کے لئے, میں نے ایک مستطیل اور بٹن سکرین ڈال دیا. میں نے بٹن پر کلک کرتے ہیں تو, مندرجہ بالا منطق executes اور فوری طور پر مستطیل چلتا ہے.

ایک وقت پر, میں اس متحرک کرنا چاہتے ہیں لیکن میں اس پر کام کرنے کے لئے ایک DoubleAnimation حاصل کرنے کے لئے کس طرح کوئی اندازہ نہیں ہے (Storyboard.SetTargetProperty() کچھ وقت کے لئے اس پر مجھ سے ایک رہسی ہے).

</آخر>

undefinedاپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin

ونڈوز سٹور اپلی کیشن کے لئے پروگرام کے ایک ListBox میں ListboxItems کی اونچائی مقرر

میں ایک windows اسٹور کی درخواست پر کام کر رہی ہوں اور میں اپلی کیشن میں کرنا چاہتے ہیں ان چیزوں میں سے ایک ایک لاگ صارف چیزیں کام کرتا ہے جو حالت پیغامات اور دیگر معلوماتی ٹادباٹ ظاہر کرتا ہے ظاہر ہے. اس مقصد کے لئے, میں نے ایک ListBox طور پر مندرجہ ذیل شامل:

<ListBox X:= نام"GameStateLog" = HorizontalAlignment"سینٹر" اونچائی ="221" = VerticalAlignment"اوپر" چوڑائی ="499" بھرتی ="0" = FontSize"10">

 

رن ٹائم میں listbox آباد کرنے کے لئے C # کوڈ کے خطوط پر تھا:

GameStateLog.Items.Insert(0, GameStateCounter     + ": نیا کھیل ریاست: کھلاڑی کے لئے انتظار کر رہے ہیں 1 نام");

یہ ٹھیک ہو کافی کام کیا لیکن انہوں نے مزید کہا کہ تھے کے UI پادانگ انفرادی پیغامات کے ارد گرد ایک پاگل رقم ظاہر کر دی. میں آخر میں صارفین کو ان اشیاء منتخب کرنے کے لئے لیکن میں صرف لاگ ان کے پیغامات کا ایک سلسلہ چل رہا دکھانا چاہتا ہوں جب کوئی مطلب نہیں ہے کے قابل ہونا چاہتے ہیں تو سمجھ میں آتا ہے ہے - صارفین کو ان کو منتخب نہیں رکھا جائے, ابھی ان کا منظر. یہ arguably ایسا کرنے کا ایک آسان طریقہ تلاش کرنے کے لئے مشکل تھا اور عجیب, لازمی "آسان" کو جس طرح سے میں نے یہ محسوس نہیں ہوتا لیکن میں نے یہ کام ٹھیک ہے ملا. کلیدی بصیرت اس پوسٹنگ کی طرف سے آیا یہاں (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) باب رالییا سے. اس کے بجائے ListBox پر اشیاء جمع کرنے کے لئے ڈور انہوں نے مزید کہا کے, لاسٹبوسیٹیم کا ا ضافہ کریں. ایک تار انہوں نے مزید کہا کی طرف سے, فہرست خانہ اس کے اپنے لسٹبوسیٹیم اپنے طور پر بنا رہا تھا. میں نے اس کے لسٹبوسیٹیم کے بارے میں کچھ کے بعد یہ حقیقت پر اثر انداز کرنے کے قابل نہیں تھا. نئے کوڈ آن ہے:

        نجی خالی AddGameStateLogMessage(سٹرنگ theMessage)
        {
            ListBoxItem کہ = نئے ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            موٹائی = thisPadding نئے موٹائی(5, 0, 5, 0);
            = thisPadding li.Padding;

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

 

یہاں میں لسٹبوسیٹیم کے بنا رہا ہوں اور انہیں داخل کر رہا ہے. میں نے اس کی موٹائی مقرر کرنے کی طرف سے اضافی بھرتی ہٹا دیا.

میں پیغامات کی مخصوص اقسام کو اجاگر کرنے کوڈنگ کچھ رنگ کرتے ہیں اور براہ راست ListBoxItems انہوں نے مزید کہا کی طرف سے میں ان کے طرز میں چاہتا ہوں کسی بھی طرح حاصل کرنے کے لئے کرنا چاہتے ہیں کے طور پر یہ بہت لچکدار ہے.

یہ کسی کی مدد کرتا ہے امید ہے کہ!

</آخر>

undefinedاپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin