Oprettet fre. d. 03. september 2010 kl. 14:35:29

Red0z
Red0z (4.638 point. Point ude: 0)

Dynamisk tilføjelse i WrapPanel

Hey drengene! Sidder og prøver at lave et program der skal trække eventlogs ud af en server, og lave et foreach som så laver et nyt felt i et Wrappanel for hvert event, jeg kan sagtens få den til at gøre det med labels. Men ville gerne have at den oprettede en lille box til hver enkel eventlog, som indeholder lidt mere end bare et label, og som i sidste ende skal kunne trykkes på.

        public void ShowEvents()
        {
            string currentHost = Classes.networkClasses.networkStatic.currentHost;
            System.Diagnostics.EventLog eLog = new System.Diagnostics.EventLog("System", currentHost);

            GridLength glenght = new GridLength(25);

            foreach(EventLogEntry entry in eLog.Entries)
            {
                console = console +"\n"+ entry.EntryType.ToString();
                eventConsole.Content = console;

                wrapPanel.Children.Add((new Label()
                {
                    Foreground = System.Windows.SystemColors.ActiveBorderBrush,
                    Content = entry.EntryType.ToString()
                }));
            }
        }


Er sikker på der er en simpel og nemmere vej at gøre dette på, og det ville være rart med lidt assistance :)

Skrevet fre. d. 03. september 2010 kl. 16:25:43| #1

spotgun
spotgun (60.801 point)
Jeg ville lave en UserControl med de elementer du vil have i hver boks.
Herefter skal du blot indsætte en ny instans af din UserControl på dit WrapPanel, i stedet for din nuværende Label.

Skrevet lør. d. 04. september 2010 kl. 00:23:35| #2

Red0z
Red0z (4.638 point)
Super nice! mange tak for svaret :)

        public void ShowEvents()
        {
            string currentHost = Classes.networkClasses.networkStatic.currentHost;
            System.Diagnostics.EventLog eLog = new System.Diagnostics.EventLog("System", currentHost);

            foreach (EventLogEntry entry in eLog.Entries)
            {
                stackPanel.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(
                    delegate()
                    {
                        stackPanel.Children.Add(new ServerSchedule.Pages.eventLogPages.UserControls.EventLog(entry.EntryType.ToString()));
                    }
                ));
            }
        }


Sådan endte det med at se ud, dispatcheren bruger jeg grundet at den kører i en BGWorker.

Læg et svar, så får du dine point. :)

Skrevet lør. d. 04. september 2010 kl. 08:44:37| #3


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Deployment på Windows Mobile 6.5

Oprettet den 9. februar 2012 kl. 13.59
schristensen giver 200 point for svar | Giv et svar »

Programmet fryser!!

Oprettet den 8. februar 2012 kl. 15.48
shemeri giver 60 point for svar | Giv et svar »

ifilter - crawler/ add-in

Oprettet den 8. februar 2012 kl. 15.37
sf giver 60 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Gør dig selv en tjeneste: Køb et ordentligt SD-kort

Der kan være meget stor hastighedsforskel på to umiddelbare ens SD-kort. Se her hvad du skal være opmærksom på, når du køber ekstra hukommelse til din mobil, tablet eller kamera.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Gratis flysimulator fra Microsoft

Den legendariske Flight Simulator fra Microsoft genopstår den 29. februar - og denne gang er spillet gratis.


Nyheder fra Computerworld

Teaser billede

Bank: Derfor er login uden NemID helt i orden

Der er ikke hold i påstanden om sikkerhedsproblemer i forbindelse med bankkunders login uden brug af NemID, lyder det fra Nykredit Bank.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger