Etikedaj Arkivoj: Fenestra Vendejo

Rapide kaj Facile: Fiksita la Grandecon de Eroj en Lista Skatolo en Fenestra Vendejo App

En Fenestroj Entenas App mi estas kreanta, Mi deziras montri la uzanton diversaj informaj mesaĝoj.  Mi elektis ListBox kiel la ilo montri ĝin por ke ili povas scroll tra ili kaj ĉiuj tiu bona aĵo. 

La mesaĝoj estas informaj nura, Tiel tie?? Neniu bezono provizi #?iuj tiu kroma whitespace #?irka? ili ekde la uzanto neniam povas elekti ilin por io ajn.  La #defa?lta konduto de la ListBox provizas grandan kvanton de #rembura?o kaj mi deziris akiri liverita de ?i.  Puto ?. Vi povas?? Faras tiun specon de afero sur la ListBox rekte.  TAMEN, Vi povas fari ?in al la eroj vi aldonas:

        Privata Malplena AddGameStateLogMessage(Ŝnuro TheMessage)
        {
            TextBox t = Nova TextBox();
            T.Teksto = GameStateCounter   + ": " + TheMessage;
            T.TextWrapping = TextWrapping.Mantelo;
            T.MinWidth = 400;
            Dikeco thisPadding = Nova Dikeco(5, 0, 5, 0);
            T.Remburanta = thisPadding;
            T.FontSize = 12;

            ListBoxItem li = Nova ListBoxItem();
            Li.Kontenta = t;
            Li.MaxHeight = 25;
            ThisPadding = Nova Dikeco(5, 0, 5, 0);
            Li.Remburanta = thisPadding;

            GameStateLog.Eroj.Enigaĵo(0,Li);
        }

En la supra, I?? Kreanta TextBox kaj fiksanta #?ia fonton, #?Ia remburanta, Ktp.

Poste, Mi kreas ListBoxItem kaj fiksita #?ia enhavon al la formatted TextBox.

Fine, Mi insertas la ListBoxItem en la ListBox.  (Mi deziras montri plej lastatempaj #mesa?o #?e la supro de la listo, Tial la #Eniga?o(0,Li) #Anstata? simpla Aldoni() Alvokado.).

Mi estos tweaking #tio ?i iom #anta? I?? Vere #feli?a kun la ListBox konduto sed la skemo montrita sur estis tre fruktodona.  Espereble iu alia trovas ?in helpema.

</Fino>

undefinedAboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Fiksanta la Alton de ListboxItems En ListBox Programmatically por Fenestra Vendejo App

Mi estas laboranta sur fenestra vendeja apliko kaj unu el la aferoj mi deziras fari en la app estas montras ŝtipon kiu montras statusajn mesaĝojn kaj aliajn informajn informetojn kiel la uzanto laboras aferojn. Al ĉi tiu fino, Mi aldonis ListBox kiel sekvas:

<ListBox x:Nomo="GameStateLog" HorizontalAlignment="Centro" Alto="221" VerticalAlignment="Supro" Larĝo="499" Remburanta="0" FontSize="10">

 

La C# kodo loĝi la listbox ĉe runtime estis laŭ la ekzemploj de:

GameStateLog.Eroj.Enigaĵo(0, GameStateCounter   + ": Nova luda stato: Atendanta por ludisto 1 Nomo");

Tio ĉi eliris bone sufiĉan sed la UI montris frenezan kvanton remburi ĉirkaŭ la individuaj mesaĝoj kiel ili estis aldonita. Kiu faras senton se mi deziras finajn uzantojn esti kapabla elekti ĉi tiujn erojn sed ne faras senton kiam mi nur deziras montri fluan serion de ŝtipaj mesaĝoj – uzantoj ne elektos ĉi tiujn, Nur vidi ilin. Ĝi estis strange malfacile trovi facilan vojon fari tion ĉi kaj arguably, La vojo mi trovis ĝin ne estas nepre “facila” sed mi akiris ĝin laboranta OK. La kerna enrigardo venis de ĉi tiu afiŝo Ĉi tie (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) De Bob Relyea. Anstataŭ aldonanta ŝnurojn al la Era kolekto sur la ListBox, Aldoni ListBoxItems. De aldonanta ŝnuron, La ListBox estis kreanta ĝian propran ListBoxItem sur ĝia propra. Mi ne estis kapabla influi ion ajn pri tiu ListBoxItem post la fakto. La nova kodo estas:

        Privata Malplena AddGameStateLogMessage(Ŝnuro TheMessage)
        {
            ListBoxItem li = Nova ListBoxItem();
            Li.Kontenta = theMessage;
            Li.MaxHeight = 25;

            Dikeco thisPadding = Nova Dikeco(5, 0, 5, 0);
            Li.Remburanta = thisPadding;

            GameStateLog.Eroj.Enigaĵo(0,Li);
        }

 

Ĉi tie mi estas kreanta ListBoxItem-a kaj insertanta ilin. Mi forigis la ekscesan remburaĵon de fiksanta ĝian dikecon.

Tio ĉi estas sufiĉe fleksebla kiel mi ja celas fari iun koloron kodanta reliefigi apartajn tipojn de mesaĝoj kaj de rekte aldonanta ListBoxItems mi akiras al stilo ili ajna vojo mi deziras.

Hope tio ĉi helpas iun!

</Fino>

undefinedAboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin