Ich verwende ein TabControl als Hauptarbeitsbereich in einer Anwendung, und ich möchte ein "Window" -Menüelement hinzufügen, das die Header der geöffneten Registerkarten auflistet. Die aktive Registerkarte (d. H. Fokussiert) sollte überprüft werden.Binding TabControl.Items zu MenuItem
Ich habe versucht, mit einem ItemsTemplate wie folgt:
<MenuItem Header="_Window" ItemsSource="{Binding ElementName=ux_workspace, Path=Items}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Path=Header}" IsCheckable="True" IsChecked="{Binding IsFocused, Mode=OneWay}">
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
Jeder MenuItem wird dann „verschachtelt“, sozusagen innerhalb eines anderen MenuItem, das ist wirklich nicht das beabsichtigte Ergebnis ist (das Kontrollkästchen ist im Kopfbereich, und es gibt einen separaten Rahmen um den internen Artikel).
Gibt es einen besseren Weg, dies zu tun?
Vielen Dank im Voraus.
Andy - brilliant, danke für deine schnelle und effektive Antwort. Ich musste eine Änderung an Ihrem Code vornehmen, um meine Zwecke zu unterstützen (entfernte den IsCheckable-Setter und fügte einen Click-Handler hinzu, um das entsprechende TabItem zu fokussieren), aber ansonsten funktionierte es perfekt. Ich würde die Antwort wählen, hilfreich, aber ich habe noch nicht genug Ruf (nur ein Neuling). Vielen Dank. – Malcolm
Eigentlich ist die richtige Antwort, diese Antwort als akzeptiert zu markieren, also zeigen Sie, dass Sie die Antwort gefunden haben, nach der Sie gesucht haben. Klicken Sie auf das Häkchen unter der Anzahl der Stimmen, um die Antwort zu akzeptieren. – Andy
Danke, Andy. Newbie schlägt wieder ...;) – Malcolm