כוידעשלעך אַרטשיוועס: אַפּריל 2013

שנעל און יזי: מאַך אַ רעקטאַנגלע ניצן C # אין אַ פֿענצטער סטאָר אַפּ

מייַן קוילעלדיק בלאָג פֿילאָסאָפֿיע איז אַז עס ס בישליימעס פייַן צו בלאָג וועגן אַלט, געזעצט סאַבדזשעקס וואָס האָבן שוין באדעקט צו טויט אנדערש.  איך יבערנעמען דעם טעמע איז איינער פון די, אָבער איך בין בלאָגגינג עס סייַ ווי סייַ.

איך ווע שוין ארבעטן אויף אַ פֿענצטער קראָם אַפּ און איך בין בייַ דער טייל ווו איך דאַרפֿן צו טאָן עטלעכע אַנימאַטינג.  צו דעם סוף, איך ווע שוין פיגיערינג אויס ביטן און ברעקלעך פון פֿענצטער קראָם אַפּ אַנאַמיישאַן וואָס, ווי עס טורנס אויס, איז גאַנץ נאָענט צו, אָבער נישט פּונקט ווי, קסאַמל באזירט אַנאַמיישאַנז אין. נעץ (איך בין נאָך קומען צו גריפּס מיט די פאַקט אַז ווינרט <> .NET 🙂 ).

דעם מאָרגן איך געוואלט צו באַקומען אַ שעפּן אויף שלעפּן און פאַלן אַפּעריישאַנז.  ען מאַרשרוט צו אַז, איך גאַט באָגד אַראָפּ מאָווינג אַ גראָדעק אַנשטאָט :).  דאָ ס דער קאָד וואָס באוועגט אַ גראָדעק ווען דער באַניצער קליקס אַ קנעפּל:

   1:   
   2:              מאַטריקסטראַנספאָרם קאָרט = (מאַטריקסטראַנספאָרם)רעקטביג.רענדערטראַנספאָרם;
   3:              מאַטריץ עם = קט.מאַטריקס;
   4:              מ.אָפפסעטקס   = 10;
   5:              מ.אָפפסעטי   = 10;
   6:              קט.מאַטריקס = ם;
   7:              רעקטביג.רענדערטראַנספאָרם = קאָרט;

די קונץ דאָ איז אַז איך קען נישט טוישן אָפפסעטקס גלייַך אָדער אָפפסעטי.  עס מייַ זייַן אַ מער קלוג וועג פון טאן דעם (און אויב איר וויסן און פילן ווי, ביטע פּאָסטן אין די באַמערקונגען). 

אין סדר צו טאָן דעם, איך דאַרפֿן צו:

1. באַקומען די מאַטריקסטראַנספאָרם פון די גראָדעק (דורך קאַסטינג רענדערטראַנספאָרם).

2. באַקומען די מאַטריץ פון אַז גוי.

3. טוישן די מאַטריץ ס אָפסעץ.

4. רעאַססיגן די מאַטריץ צוריק צו דער מאַטריקסטראַנספאָרם.

5. רעאַססיגן די מאַטריקסטראַנספאָרם צוריק צו דער רעקטאַנגלע.

צו פּרובירן עס, איך שטעלן אַ גראָדעק און קנעפּל די פאַרשטעלן. ווען איך דרוק דעם קנעפּל, די אויבן לאָגיק עקסאַקיוץ און באוועגט די גראָדעק גלייך.

אין עטלעכע פונט, איך 'ד ווי צו ופלעבן דעם אָבער איך האב קיין געדאַנק ווי צו באַקומען אַ דאָובלעאַנימאַטיאָן צו אַרבעטן אויף עס (סטאָריבאָאַרד.סעטטאַרגעטפּראָפּערטי() איז אַ מיסטעריע צו מיר אויף דעם פֿאַר די צייַט זייַענדיק).

</עק>

undefinedאַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

באַשטעטיקן די הייך פון ליסטבאָקסיטעמס אין אַ ליסטבאָקס פּראָגראַממאַטיקאַללי פֿאַר ווינדאָוז סטאָר אַפּ

I’m working on a windows store application and one of the things I want to do in the app is display a log that shows status messages and other informational tidbits as the user works things. צו דעם סוף, איך צוגעלייגט אַ ליסטבאָקס ווי גייט:

<ליסטבאָקס X:נאָמען ="גאַמעסטאַטעלאָג" האָריזאָנטאַלאַליגנמענט ="צענטער" הייך ="221" ווערטיקאַלאַליגנמענט ="שפּיץ" ברייט ="499" וואַטן ="0" פאָנציזע ="10">

 

די C # קאָד צו באַפעלקערן די ליסטבאָקס בייַ רונטימע איז געווען צוזאמען די שורות פון:

גאַמעסטאַטעלאָג.יטעמס.ינסערט(0, גאַמעסטאַטעקאָונטער     + ": ניו שפּיל שטאַט: ווארטן פֿאַר שפּילער 1 נאָמען");

This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. וואָס מאכט זינען אויב איך ווילן סוף ניצערס צו קענען צו אויסקלייַבן די זאכן אָבער טוט נישט מאַכן זינען ווען איך נאָר ווילן צו ווייַזן אַ פליסנדיק סעריע פון ​​קלאָץ אַרטיקלען - ניצערס וועלן נישט אויסקלייַבן די, just view them. עס איז געווען סטריינדזשלי שווער צו געפינען אַן גרינג וועג צו טאָן דאָס און אַרגיואַבלי, the way I found it isn’t necessarily “easy” but I got it working OK. דער שליסל ינסייט געקומען פון דעם פּאָסטינג דאָ (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. אַנשטאָט פון אַדינג סטרינגס צו די יטעמס זאַמלונג אויף די ליסטבאָקס, add ListBoxItems. דורך אַדינג אַ שטריקל, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. די נייַ קאָד איז:

        פּריוואַט פּאָסל אַדדגאַמעסטאַטעלאָגמעססאַגע(שטריקל טהעמעססאַגע)
        {
            ליסטבאָקסיטעם אַז = נייַ ליסטבאָקסיטעם();
            לי.קאָנטענט = טהעמעססאַגע;
            לי.מאַקסהעיגהט = 25;

            גרעב טהיספּאַדדינג = נייַ גרעב(5, 0, 5, 0);
            לי.פּאַדדינג = טהיספּאַדדינג;

            גאַמעסטאַטעלאָג.יטעמס.ינסערט(0,לי);
        }

 

Here I’m creating ListBoxItem’s and inserting them. איך אראפגענומען די וידעפדיק וואַטן דורך באַשטעטיקן זייַן גרעב.

דאס איז שיין פלעקסאַבאַל ווי איך טאָן אויסן צו טאָן עטלעכע קאָליר קאָודינג צו הויכפּונקט באַזונדער טייפּס פון אַרטיקלען און דורך גלייַך אַדינג ליסטבאָקסיטעמס איך באַקומען צו נוסח זיי קיין וועג איך ווילן.

האָפֿן דאָס העלפט עמעצער!

</עק>

undefinedאַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin