Tag Archives: Windows winkel

Snel en eenvoudig: Instellen van de grootte van een Items in een keuzelijst in een App Store voor Windows

In een Windows Store App ben ik het creëren van, Ik wil laten zien van de gebruiker verschillende informatieve berichten.  Ik pakte een ListBox als het instrument om te laten zien, zodat ze via hen en al dat goede materiaal schuiven kunnen. 

De berichten zijn alleen informatief, dus er is geen behoefte om al dat extra witruimte rond hen aangezien de gebruiker ze nooit voor om het even wat kunt selecteren.  Het standaardgedrag van de ListBox biedt een aanzienlijke hoeveelheid opvulling en ik wilde om zich te ontdoen van het.  Goed.... u kunt niet dat soort ding op de ListBox rechtstreeks.  ECHTER, u kunt dit doen op de items die u toevoegt:

        privé VOID AddGameStateLogMessage(tekenreeks theMessage)
        {
            TextBox t = Nieuw TextBox();
            t.Text = GameStateCounter    + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Dikte thisPadding = Nieuw Dikte(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = Nieuw ListBoxItem();
            Li.Inhoud = t;
            Li.MaxHeight = 25;
            thisPadding = Nieuw Dikte(5, 0, 5, 0);
            Li.Opvulling = thisPadding;

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

in het bovenstaande, Ik ben een tekstvak maken en instellen van het lettertype, de opvulling, etc.

Volgende, Ik maak een ListBoxItem en stel de inhoud op de opgemaakte TextBox.

Tot slot, Ik invoegen de ListBoxItem in de ListBox.  (Ik wil laten zien van de meest recente berichten op de top van de lijst, Vandaar de invoegen(0,Li) in plaats van een eenvoudige toevoegen() inroepen.).

Ik zal worden tweaken dit een beetje voordat ik echt blij met de ListBox gedrag ben maar het patroon hierboven is zeer vruchtbaar geweest.  Hopelijk vindt iemand anders het nuttig.

</einde>

undefinedAbonneren op mijn blog.

Volg mij op Twitter op http://www.twitter.com/pagalvin

Instellen van de hoogte van ListboxItems In een ListBox via programmacode voor Windows opslag App

Ik ben bezig met een toepassing van de opslag van windows en een van de dingen die ik wil doen in de app is een logboek waarin statusberichten en andere informatieve lekkernijen als de gebruiker dingen werkt weergeven. Te dien einde, Ik voegde een ListBox als volgt:

<ListBox x:Naam ="GameStateLog" HorizontalAlignment ="Center" Hoogte ="221" VerticalAlignment ="Boven" Breedte ="499" Opvulling ="0" Tekengrootte (FontSize) ="10">

 

De C#-code om te vullen de listbox tijdens runtime was langs de lijnen van:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Nieuwe spel staat: speler wacht 1 naam");

Dit werkte goed genoeg maar de UI toonde een gek bedrag van opvulling rond de afzonderlijke berichten zoals ze zijn toegevoegd. Dat is logisch als ik wil eind-de gebruikers kunnen om deze items te selecteren, maar houdt geen steek wanneer ik wil gewoon laten zien een lopende reeks van berichten in het logboek-gebruikers deze zal niet selecteren, alleen te bekijken. Het was vreemd moeilijk te vinden een eenvoudige manier om dit te doen en misschien wel, de manier waarop ik vond het niet noodzakelijkerwijs "gemakkelijk" maar ik heb het werkt OK. Het belangrijkste inzicht kwam uit dit bericht Hier (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) van Bob Relyea. In plaats van tekenreeksen toevoegen aan de Items-collectie op de ListBox, ListBoxItems toevoegen. Door het toevoegen van een string, ListBox was het creëren van zijn eigen ListBoxItem op eigen. Ik was niet in staat te beïnvloeden om het even wat over dat ListBoxItem na het feit. De nieuwe code is:

        privé VOID AddGameStateLogMessage(tekenreeks theMessage)
        {
            ListBoxItem li = Nieuw ListBoxItem();
            Li.Inhoud = theMessage;
            Li.MaxHeight = 25;

            Dikte thisPadding = Nieuw Dikte(5, 0, 5, 0);
            Li.Opvulling = thisPadding;

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

 

Hier ben ik het creëren van de ListBoxItem en het invoegen van hen. Ik verwijderde de overtollige opvulling door in te stellen de dikte.

Dit is vrij flexibel als ik denkt te doen wat kleur codering om te markeren van bepaalde soorten berichten en door direct toe te voegen ListBoxItems krijg ik om de stijl van hen elke gewenste.

Hoop dat dit helpt iemand!

</einde>

undefinedAbonneren op mijn blog.

Volg mij op Twitter op http://www.twitter.com/pagalvin