Schließen/Entfernen einer Registerkarte Element WPF
Ich habe ein Register-Steuerelement in einem Fenster. Die tabs haben alle einfachen Kontext-Menüs, die (angeblich) erlauben dem Benutzer, um Sie zu schließen. Allerdings, wenn ich auf schließen klicken, passiert nichts.
Hier ist der event-handler
void closeTab_Click(object sender, RoutedEventArgs e)
{
Tabs.Items.Remove((MenuItem)sender);
}
Ich geschaut habe, um zu schließen von tabs, aber keiner der Artikel, die ich fand, ging ins detail über, wie man tatsächlich schließen Sie die Registerkarte.
Neues problem:
void closeTab_Click(object sender, RoutedEventArgs e)
{
MenuItem close = (MenuItem)sender;
Tabs.Items.Remove(Convert.ToInt32(close.Name.Remove(0,3)));
}
Das Kontextmenü benannt ist folgendermassen:
Name = "Tab" + Tabs.Items.Count.ToString(),
Tut es immer noch nichts
- Was ist "Registerkarten"? "Kann nicht finden das Klasse.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Menüpunkt ist nicht die tab. Sie können nicht entfernen Sie es von der
TabControl
. Sie benötigen eine Referenz auf die Registerkarte, die dieMenuItem
gehört. Dies kann auf verschiedene Weise erfolgen.Ich sehe, Sie haben versucht, einige eher hacky Dinge, die dort mit Namen und string-manipulation, hier wäre ein mehr saubere Ansatz, der nicht erforderlich ist, dass:
Diese bekommt der Elternteil, bis er eine findet die
ContextMenu
und bekommt dieTabItem
von derPlacementTarget
.TabItem
alsCommandParameter
im XAML-Code. Als Sie neu in WPF finden Sie vielleicht alle Artikel auf der MSDN-Website, um nützlich zu sein.