WPF-Styles für TabControl - / TabPanel / TabItem
Hier eine newbie-Frage auf der WPF-TabControl, TabItem und TabPanel. Es gibt eine Verwandte Frage auf StackOVF mit einer Antwort, die ich gerne in meinem app. Hier ist ein link zu der Antwort, und die code-snippets sowie:
WPF: Center TabItems in einem TabControl
<TabControl>
<TabControl.Resources>
<Style TargetType="{x:Type TabPanel}">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</TabControl.Resources>
<TabItem Header="Test 1" />
<TabItem Header="Test 2" />
<TabItem Header="Test 3" />
<TabItem Header="Test 4" />
</TabControl>
Dies ist zwar wunderbar, ich würde gerne verschieben Sie den Ressourcen-und Style-Zeug, um eine bessere Position (in einem stylesheet oder ähnliches). Mein Erster Versuch war, sich zu bewegen die <TabControl.Resources>
tag der <Window.Resources>
aber das hat nicht funktioniert. Ich versuchte mehrere Varianten, aber konnte es nicht zu funktionieren. Hier ein Beispiel von einem Versuch habe ich etwas erwartet, um zu arbeiten:
<!-- Doesn't work as expected: -->
<Window.Resources>
<Style TargetType="{x:Type TabPanel}">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</Window.Resources>
Suche im Internet und msdn hat mir nicht helfen mein problem zu lösen, aber stattdessen ließ mich mit einem zweiten (Verwandte) Frage: was ist eigentlich ist ein TabPanel, und wie bezieht es sich auf das TabControl?
Jede Hilfe und Tipps würde sehr geschätzt.
(Bearbeitet: kommentierte im letzten Beispiel, dass der code bei mir nicht funktioniert.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
TabControl verwendet eine spezielle TabPanel-Klasse und nicht ein generisches Panel wie StackPanel, denn wenn Sie Durcheinander herum mit dem TabControl du wirst erkennen, dass das panel nicht ganz ein paar Dinge, die generische Platten nicht. Die eine ist die Anpassung der Registerkarte header-Elemente in mehrere Zeilen. Ein weiterer ist, dass die Zeilen der Elemente so angeordnet werden, dass die ausgewählten tabitem header ist immer in der letzten Reihe. Ich denke, es könnte sein, noch mehr zu tun
Ich bin sehr daran interessiert zu wissen, warum putting-Stil im Fenster Ressource-Abschnitt funktioniert nicht. Meine erste Reaktion war, es sollte funktionieren, bis ich es ausprobiert. Ich füge dies als eine Antwort, denn SO wird nicht lassen Sie mich fügen Sie ein Bild in einem Kommentar.
<TabPanel />
element, um das TabControl-Steuerelement. (Kommentar bearbeitet)Werden Sie wahrscheinlich benötigen, um erstellen einer ControlTemplate, dies zu tun.
Ich bin nicht sehr vertraut mit ControlTemplates noch. Ich hackte diesem Beispiel aus:
http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.tabpanel.aspx