2011-02-11 14 views
8

Obecnie pracuję nad czymś, co prawdopodobnie wykonuje się w wielu przykładach. Ale po pewnych poszukiwaniach nie mogę niczego znaleźć.WPF C# Programowe dodawanie i przenoszenie kart

Pracuję z kontrolą kart WPF i próbuję odtworzyć podstawowe funkcje (które widzisz we wszystkich przeglądarkach internetowych w dzisiejszych czasach), aby dodać nową kartę, klikając kartę "+", która jest ostatnio wyświetlaną kartą .

Mam już kartę "+", która dodaje nową kartę. Mój problem polega na tym, że chcę przenieść kartę "+" po nowej karcie (tak, aby znowu była jej stroną końcową) i zmienić widok na nowo utworzoną kartę.

Myślałem coś takiego:

void tiNewTab_Add(object sender, EventArgs e) 
    { 
     int idx = tabControl1.Items.Count; 
     tabControl1.SelectedIndex = idx - 1; 
     TabItem ti = new TabItemKPI(); 
     tabControl1.Items.Add(ti); 
     tabControl1.Items.MoveCurrentToLast(); 
    } 

... będzie działać, ale nie szczęścia :(

jakieś pomysły

góry dziękuję

Odpowiedz

7

Spróbuj czegoś takiego.:

tabControl1.Items.Insert(tabControl1.Items.Count-1,ti); 

Będzie to zrobić, ponieważ zawsze mają co najmniej jeden TabItem (przycisk + jeden)

Następnie wybierz przedostatni jeden po

tabControl1.SelectedIndex=tabControl1.Items.Count-2; 
0

nie testowane, ale powinny działać następujące:

int idx = tabControl1.Items.Count; 
tabControl1.SelectedIndex = idx - 1; 
TabItem ti = new TabItem(); 
tabControl1.Items.Insert(tabControl1.Items.IndexOf(tabControl1.Items.Last()), ti); 
Powiązane problemy