Avatar billede onkel_satan Nybegynder
04. januar 2008 - 00:33 Der er 1 kommentar og
1 løsning

Hent treeview height?

Go aften.
Nogen der ved hvorledes jeg kan udlæse højden på et treeview control element?
Prøver jeg at udskrive højden udmiddelbart efter jeg har lavet 'treeview elementet' får jeg bare 0.0
Samtidig har jeg lavet en 'keydown' event handler som også udskriver  ovennævnte højde og her udskriver den fint højden på 'treeview elementet'.
Kunne det være fordi den ikke endnu har udregnet position og deminsion endnu og kan man evt. tvinge den til at gøre det saa jeg kan udlæse rendersize efter at have oprettet objekete?

Har lavet lidt testkode som du/i kan prøve at køre hvis i vil se det selv.

Grid grid1 = new Grid();
TreeView treeView1 = new TreeView();
public Window1() {
    InitializeComponent();
    this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
    Content = grid1;
    grid1.Children.Add(treeView1);
    for (int i = 0; i < 5; i++) {
        TreeViewItem grp = new TreeViewItem();
        grp.Header = "Gruppe" + i;
        for (int j = 0; j < 5; j++) {
            TreeViewItem grp1 = new TreeViewItem();
            grp1.Header = "SubGruppe" + i + "_" + j;
            grp.Items.Add(grp1);
        }
        treeView1.Items.Add(grp);
    }
    Console.Out.WriteLine(treeView1.RenderSize);
    KeyDown += new KeyEventHandler(Window1_KeyDown);
}
void Window1_KeyDown(object sender, KeyEventArgs e) {
    Console.Out.WriteLine(treeView1.RenderSize);
}

På forhånd tak.
Avatar billede aaberg Nybegynder
04. januar 2008 - 15:18 #1
Du har helt ret i, at det er fordi det ikke er udregnet på dette tidspunk. Abonner på Load eventet på TreeView kontrollen, og skriv højden ud der. Det bør virke.
Avatar billede onkel_satan Nybegynder
04. januar 2008 - 21:32 #2
Fandt ud af at man kan måle elements ved brug af measure metoden således her:

treeView1.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
treeView1.Arrange(new Rect(treeView1.DesiredSize));
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester