வகை பதிவுகள்: விண்டோஸ் ஸ்டோர்

விரைவான மற்றும் எளிதான: விண்டோஸ் அங்காடி ஒரு பட்டியல் பெட்டி ஒரு பொருட்களின் அளவு அமைக்கவும்

நான் உருவாக்கும் நான் ஒரு விண்டோஸ் ஸ்டோர் பயன்பாட்டில், நான் பயனர் பல்வேறு தகவல் செய்திகளை காண்பிக்க வேண்டும்.  அவர்கள் அனைவரும் அந்த நல்ல விஷயங்கள் மூலம் உருட்டும் முடியும் என்று கருவியாக அதை காட்ட நான் ஒரு ListBox எடுத்தார்கள். 

செய்திகளை மட்டுமே தகவல் இல்லை, எனவே பயனர் அவர்களை எதையும் தேர்ந்தெடுக்க முடியாது என்பதால் அவர்களை சுற்றி அனைத்து கூடுதல் இடைவெளி வழங்க தேவையில்லை.  ListBox முன்னிருப்பு நடத்தையை பேட்டிங்கின் ஒரு கணிசமான தொகையை வழங்குகிறது மற்றும் நான் அதை பெற வேண்டும்.  அதே .... நீங்கள் நேரடியாக ListBox மீது விஷயம் அப்படி செய்ய முடியாது.  எனினும், நீங்கள் சேர்க்க பொருட்களை அதை செய்ய முடியும்:

        தனிப்பட்ட களைவதற்கு AddGameStateLogMessage(மாலை theMessage)
        {
            உரை T = புதிய உரை();
            t.Text = GameStateCounter   + ": " + theMessage;
            = TextWrapping.Wrap t.TextWrapping;
            t.MinWidth = 400;
            தடிமன் = thisPadding புதிய கனம்(5, 0, 5, 0);
            = thisPadding t.Padding;
            = t.FontSize 12;

            ListBoxItem என்று = புதிய ListBoxItem();
            li.Content = T;
            li.MaxHeight = 25;
            = thisPadding புதிய கனம்(5, 0, 5, 0);
            = thisPadding li.Padding;

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

மேலே உள்ள, நான் ஒரு உரைப்பெட்டி உருவாக்கி அதன் எழுத்துரு அமைக்க, அதன் பேட்டிங்கின், முதலியன.

அடுத்து, நான் ஒரு ListBoxItem உருவாக்க மற்றும் வடிவமைக்கப்பட்ட உரை அதன் உள்ளடக்கத்தை அமைக்க.

இறுதியாக, நான் ListBox ஒரு ListBoxItem நுழைக்க.  (நான் பட்டியல் மேலே மிக சமீபத்திய செய்திகளை காட்ட வேண்டும், எனவே நுழைவு(0,li) அதற்கு பதிலாக ஒரு எளிய சேர் என்ற() வசீகரமான.).

நான் ListBox நடத்தை ஆனால் மிகவும் பயனுள்ள வருகிறது மேலே வடிவத்துடன் மிகவும் மகிழ்ச்சி முன்பு நான் இந்த ஒரு பிட் முறுக்குவதை இருப்பேன்.  வட்டம் வேறு யாரையாவது உங்களுக்கு பயனுள்ளதாக காண்கிறது.

</இறுதியில்>

undefinedஎன்னுடைய குழுசேர்.

மணிக்கு ட்விட்டரில் என்னை பின் http://www.twitter.com/pagalvin

விரைவான மற்றும் எளிதான: விண்டோஸ் ஸ்டோர் பயன்பாட்டில் # சி பயன்படுத்தி ஒரு செவ்வக நகர்த்த

என் ஒட்டுமொத்த வலைப்பதிவில் தத்துவம் பழைய பற்றி எழுத செய்தபின் நன்றாக தான் இருக்கிறது, வேறு மரண மூடப்பட்டிருக்கும் என்று பாடங்களில் தீர்வு.  நான் இந்த தலைப்பை அந்த ஒன்றாகும் எண்ணுகிறேன், ஆனால் எப்படியும் நான் அதை பிளாக்கிங்.

நான் ஒரு ஜன்னல் அங்காடி வேலை மற்றும் நான் சில அசைவூட்டமாக்குவதை செய்ய வேண்டும், அங்கு ஒரு பகுதியாக இருக்கிறேன்.  இந்த முடிவுக்கு, நான் பிட்கள் மற்றும் ஜன்னல்கள் அங்காடி அனிமேஷன் துண்டுகள் கண்டறிவதன் இது, அது மாறிவிடும் என, மிகவும் நெருக்கமாக, ஆனால் சரியாக போன்ற, XAML. நெட் உள்ள அனிமேஷன் அடிப்படையில் (நான் இன்னும் அந்த WinRT உண்மையில் ஈர்ப்பு வருகிறேன் <> .NET 🙂 ).

இன்று காலை நான் இழுத்தல் மற்றும் செயல்பாடுகளை ஒரு கைப்பிடி பெற விரும்புகிறேன்.  அந்த வழியை en, நான் அதற்கு பதிலாக ஒரு செவ்வக நகரும் அளித்தது :).  இங்கே பயனர் ஒரு பொத்தானை கிளிக் போது ஒரு செவ்வக நகரும் என்று குறியீடு தான்:

   1:   
   2:              MatrixTransform CT = (MatrixTransform)rectBig.RenderTransform;
   3:              அணி மீ = ct.Matrix;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct.Matrix = மீ;
   7:              rectBig.RenderTransform = CT;

இங்கே தந்திரம் நான் நேரடியாக OffsetX அல்லது OffsetY மாற்ற முடியாது என்று.  இதை மிகவும் புத்திசாலி வழி இருக்கலாம் (மற்றும் உங்களுக்கு போல் இருந்தால்,, கருத்துக்களை பதிவு செய்யுங்கள்). 

இதை செய்ய பொருட்டு, நான் வேண்டும்:

1. Get the MatrixTransform of the rectangle (by casting RenderTransform).

2. Get the Matrix of that guy.

3. Change the Matrix’s offsets.

4. Reassign the Matrix back to the MatrixTransform.

5. Reassign the MatrixTransform back to the Rectangle.

To test it, I put a rectangle and button the screen. When I click the button, the above logic executes and moves the rectangle immediately.

சில புள்ளியில், I’d like to animate this but I have no idea how to get a DoubleAnimation to work on it (Storyboard.SetTargetProperty() is a mystery to me on this for the time being).

</இறுதியில்>

undefinedஎன்னுடைய குழுசேர்.

மணிக்கு ட்விட்டரில் என்னை பின் http://www.twitter.com/pagalvin

விண்டோஸ் அங்காடி நிரலாக்கத்தின்படி ஒரு ListBox ல் 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. இந்த முடிவுக்கு, நான் ஒரு ListBox பின்வருமாறு கூறினார்:

<ListBox x:= பெயரிட"GameStateLog" = HorizontalAlignment"மையம்" உயரம் ="221" = VerticalAlignment"மேல்" Width ="499" பேட்டிங்கின் ="0" = FontSize"10">

 

இயங்கு நேரத்தில் listbox விரிவுப்படுத்த வேண்டும் சி # குறியீடு வரிகளை இருந்தேன்:

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. அதற்கு பதிலாக ListBox மீது பொருட்கள் சேகரிப்பில் சரங்களை சேர்க்கும், 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