మంత్లీ ఆర్కైవ్స్: నాలుగో నెల 2013

త్వరిత మరియు సులువు: ఒక Windows స్టోర్ అనువర్తనం # సి ఉపయోగించి ఒక దీర్ఘ తరలించు

నా మొత్తం బ్లాగ్ తత్వశాస్త్రం ఇది పాత గురించి బ్లాగ్ సంపూర్ణ మంచిది ఉంది, ఏదో ఒకచోట మరణం కవర్ జరిగింది విషయాలను స్థిరపడ్డారు.  నేను ఈ విషయం వారిలో భావించవచ్చును, కానీ నేను ఏమైనప్పటికీ బ్లాగింగ్ వెబ్.

నేను ఒక విండో స్టోర్ అనువర్తనం పని చేసిన మరియు నేను కొన్ని అనుకరిస్తూ చెయ్యాల్సిన పేరు భాగమైన రెడీ.  ఈ క్రమంలో, నేను బిట్స్ మరియు విండోలను స్టోర్ అనువర్తనం యానిమేషన్ యొక్క ముక్కలు ఇందుకు పరిష్కరించగలుగుతున్నాము ఇది, దాన్ని మారుతుంది వంటి, చాలా దగ్గరగా ఉంది, కానీ ఖచ్చితంగా వంటి, XAML. NET లో యానిమేషన్లు ఆధారంగా (నేను ఇప్పటికీ ఆ WinRT వాస్తవం పట్టులు కు వస్తున్న వెబ్ <> .NET 🙂 ).

ఈ ఉదయం నేను డ్రాగ్ మరియు డ్రాప్ కార్యకలాపాలు ఒక హ్యాండిల్ అనుకున్నారు.  ఆ మార్గంలో, నేను బదులుగా ఒక దీర్ఘ చతురస్రం కదిలే డౌన్ కూరుకుపోయిన కాకముందు :).  ఇక్కడ వినియోగదారు ఒక బటన్ను క్లిక్ చేసినప్పుడు ఒక దీర్ఘ చతురస్రం కదిల్చే కోడ్ వార్తలు:

   1:   
   2:              MatrixTransform CT = (MatrixTransform)rectBig.RenderTransform;
   3:              మాత్రిక M = 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. మాట్రిక్స్ పరిహారాల మార్చండి.

4. MatrixTransform తిరిగి మ్యాట్రిక్స్ Reassign.

5. దీర్ఘచతురస్రం కు MatrixTransform తిరిగి Reassign.

దీనిని పరీక్షించడానికి, నేను ఒక దీర్ఘ చతురస్రం మరియు బటన్ స్క్రీన్ చాలు. నేను బటన్ క్లిక్ చేసినప్పుడు, పైన తర్కం అమలు మరియు వెంటనే దీర్ఘచతురస్ర తరలిస్తుంది.

కొన్ని పాయింట్ వద్ద, నేను ఈ యానిమేట్ అవ్వాలనుకుంటే కానీ నేను పని ఒక DoubleAnimation ఎలా పొందాలో సంఖ్య ఆలోచన ఉంది (Storyboard.SetTargetProperty() కొంత కాలం ఈ నాకు ఒక రహస్య ఉంది).

</చివర>

undefinedనా బ్లాగ్ సబ్స్క్రయిబ్.

వద్ద ట్విట్టర్ లో నన్ను అనుసరించండి http://www.twitter.com/pagalvin

Windows స్టోర్ App కోసం Programmatically ఒక లిస్ట్బాక్స్ లో ListboxItems యొక్క ఎత్తు చేస్తోంది

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:= పేరు"GameStateLog" = HorizontalAlignment"సెంటర్" ఎత్తు ="221" = VerticalAlignment"పైన" వెడల్పు ="499" పాడింగ్ ="0" = ఫాంట్సైజు"10">

 

రన్టైమ్ వద్ద లిస్ట్బాక్స్ జనసాంద్రత కు సి # కోడ్ తరహాలో ఉంది:

GameStateLog.Items.Insert(0, GameStateCounter     + ": కొత్త గేమ్ రాష్ట్ర: క్రీడాకారుడు వేచి 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. కొత్త కోడ్:

        ప్రైవేట్ రద్దు AddGameStateLogMessage(తీగ theMessage)
        {
            ListBoxItem ఆ = కొత్త ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            మందం = thisPadding కొత్త గణము(5, 0, 5, 0);
            = thisPadding li.Padding;

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

 

Here I’m creating ListBoxItem’s and inserting them. నేను దాని మందం అమర్చుట ద్వారా అదనపు పాడింగ్ తొలగించబడింది.

నేను సందేశాలను రకాలలో హైలైట్ కోడింగ్ కొన్ని రంగు చేయండి మరియు నేరుగా ListBoxItems జోడించడం ద్వారా నేను శైలి వాటిని నేను కావలసిన విధంగా పొందుటకు భావిస్తున్నారు ఈ అందంగా అనువైనది.

ఈ ఎవరైనా సహాయపడుతుంది ఆశిస్తున్నాము!

</చివర>

undefinedనా బ్లాగ్ సబ్స్క్రయిబ్.

వద్ద ట్విట్టర్ లో నన్ను అనుసరించండి http://www.twitter.com/pagalvin