2011-02-11 11 views
8

Actualmente estoy trabajando en algo que probablemente se hace en un montón de ejemplos por ahí. Pero después de algunas búsquedas no puedo encontrar nada.WPF C# Programatically añadir y mover las fichas

Estoy trabajando con el control de pestañas WPF y estoy intentando recrear algunas funciones básicas (que se ven en todos los navegadores de Internet hoy en día) para agregar una nueva pestaña haciendo clic en la pestaña '+' que es la última pestaña .

que ya tienen la pestaña '+' que añade una nueva pestaña. Mi problema es que quiero mover la pestaña '+' después de la nueva pestaña (por lo que es la pestaña final otra vez) y cambiar la vista a la nueva pestaña que acaba de crearse.

pensé algo como:?

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(); 
    } 

... iba a funcionar, pero sin suerte :(

Cualquier idea

Gracias de antemano

Respuesta

7

Pruebe algo como esto.:

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

Esto va a hacer, ya que siempre tiene al menos un TabItem (el + uno)

A continuación, seleccione la segunda pasada por

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

No se ha probado, pero debería funcionar siguiente:

int idx = tabControl1.Items.Count; 
tabControl1.SelectedIndex = idx - 1; 
TabItem ti = new TabItem(); 
tabControl1.Items.Insert(tabControl1.Items.IndexOf(tabControl1.Items.Last()), ti); 
Cuestiones relacionadas