ich suche eine Möglichkeit, den Wechsel auf ein anderes TabItem in einem TabCOntrol zunächst prüfen zu können.
Eine Methode wie "PreventSelectionChanged" gibt es ja leider nicht.
Bei meiner Suche nach einer Lösung komme ich immer wieder auf diese Seite:
http://joshsmithonwpf.wordpress.com/2009/09/04/how-to-prevent-a-tabitem-from-being-selected/
Ich habe den angegeben Code fast 1:1 ein komplett leeres Projekt übertragen, das sieht dann so aus:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var items = new string[] {"A", "B"};
tabControl1.ItemsSource = items;
var view = CollectionViewSource.GetDefaultView(items);
view.CurrentChanging += this.Items_CurrentChanging;
}
void Items_CurrentChanging(object sender, CurrentChangingEventArgs e)
{
bool allow = false;
if(!allow)
{
int prevIdx = tabControl1.Items.IndexOf(tabControl1.SelectedContent);
tabControl1.SelectedIndex = prevIdx;
}
}
}
Aber egal wie ich es auch anstelle: das Event 'Items_CurrentChanging' wird nie aufgerufen. Weiß jemand Rat?
Danke und Gruß