PowerShell WPF TabControl
Hallo,
in einer GUI (WPF) habe ich ein Ereignis auf einem TabControl. Das Ereignis nennt sich SelectionChanged. Nun habe ich folgendes Problem. Im TabControl befinden sich TabItems, die wiederum diverse WPF Elemente enhalten. In einem ist zum Beispiel eine Combobox. Wenn ich in dieser die Auswahl ändere, greift das SelectionChanged Ereignis des TabControls. Bisher habe ich darauf spekuliert, dass es wirklich nur eine Änderung des TabControls und nicht dessen enhaltenen Elementen gilt. Nun ist meine Frage, wie ich es realisiseren kann, dass das Ereignis SelectionChanged auf dem TabControl nur für das Ändern der TabItems gilt - sprich wenn ich von TabItem1 nach TabItem2 gehe?
Gruß
derhoeppi
in einer GUI (WPF) habe ich ein Ereignis auf einem TabControl. Das Ereignis nennt sich SelectionChanged. Nun habe ich folgendes Problem. Im TabControl befinden sich TabItems, die wiederum diverse WPF Elemente enhalten. In einem ist zum Beispiel eine Combobox. Wenn ich in dieser die Auswahl ändere, greift das SelectionChanged Ereignis des TabControls. Bisher habe ich darauf spekuliert, dass es wirklich nur eine Änderung des TabControls und nicht dessen enhaltenen Elementen gilt. Nun ist meine Frage, wie ich es realisiseren kann, dass das Ereignis SelectionChanged auf dem TabControl nur für das Ändern der TabItems gilt - sprich wenn ich von TabItem1 nach TabItem2 gehe?
Gruß
derhoeppi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 301180
Url: https://administrator.de/forum/powershell-wpf-tabcontrol-301180.html
Ausgedruckt am: 25.12.2024 um 04:12 Uhr
1 Kommentar
Hallo derhoeppi,
das geht so, du prüfst einfach welchen Typs der Sender/Source des Events ist.
Beachte hierbei das das SelectionChanged-Event auch beim ersten Start einmalig auftritt.
Grüße Uwe
das geht so, du prüfst einfach welchen Typs der Sender/Source des Events ist.
$tabControl.add_SelectionChanged({
if ($_.Source.getType() -eq [System.Windows.Controls.TabControl]){
# ===> hier dein Code <====
# Beispielausgabe des Tab-Headers zu dem gewechselt wurde
write-host "Changed Tab to $($_.Source.SelectedItem.Header)"
}
})
Grüße Uwe