Die Anwendung einer FontFamily-alle Steuerelemente in Silverlight 4 Beta
Möchte ich jeden Control
eine bestimmte FontFamily
und FontWeight
in Silverlight 4.0. Ich weiß, dass Stile können nun anwenden, um alle controls eines bestimmten Typs, also versuchte ich Folgendes:
<Style TargetType="Control">
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontWeight" Value="Bold" />
</Style>
Leider, das scheint nicht zu funktionieren. Ich kann dies für Arten, die sich von Control
jedoch. Zum Beispiel, Einstellung TargetType
zu Button
gilt, diese Werte in jedem Button
in meiner Anwendung.
Warum kann ich nicht tun Sie dies für die Control
Basis-Klasse, dann?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Control styling wird gebunden, um das Typ-system kann ein bisschen irreführend. Eigentlich basierend auf dem Wert der Kontrollen, die
DefaultStyleKey
Eigenschaft. Im Falle einerButton
Wert isttypeof(Button)
und für eineTextBox
es isttypeof(Textbox)
.Einen Standard-Stil wird angewendet, um eine Kontrolle, ob die
TargetType
Wert entspricht der KontrollenDefaultStyleKey
Wert. Es gibt keine Prüfung, ob dieType
imDefaultStyleKey
ist ein Derivat desTargetType
.Font-bezogenen Eigenschaften sind ein Spezialfall, da die meisten Steuerelemente Erben die Werte für Font-Eigenschaften von übergeordneten Kontext. Somit können Sie effektiv erreichen das gleiche Ergebnis durch die Angabe
FontFamily
undFontWeight
auf die UserControl-element.Bearbeiten
Aus einem Kommentar von der OP:-
Die nächstgelegene Sie bekommen können, dass ist ein keyed-Stil in den app-Ressourcen und stellen sicher, dass alle Benutzersteuerelemente binden an die Stil. Natürlich, dies erfordert noch einige Zusammenarbeit für jeden Benutzer Steuern, aber zumindest die schriftart, die Entscheidungen bleiben in einem einzigen Ort.
Zum Beispiel in der app.xaml:-
Dann in jedem usercontrol:-
Ich es tun, indem Sie angeben, FontFamily in mein root-visual. Alle untergeordneten Steuerelemente ohne ausdrückliche FontFamily Satz, ableiten, FontFamily-von der Wurzel visual.
Nur ChildWindow muss extra FontFamily Einstellung, denn es wird gehostet in "über" root-visual (als popup).
Dies würde helfen: