2012-12-28 1 views
2

Je reçois un comportement assez étrange avec ClearType chaque fois que j'utilise AeroGlass dans mes applications WPF. J'ai trouvé que la ligne suivante définit ma police de rendu retour à l'échelle de gris:ClearType dans WPF lors de l'utilisation AeroGlass

mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent; 

Pour le récupérer à travailler avec AeroGlass je dois définir ces propriétés .NET 4.0 à chaque contrôle contenant du texte:

RenderOptions.ClearTypeHint="Enabled" TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType"

Ensuite, il ressemble à ceci:

grey-scale on the left, cleartype on the right

est-il un moyen t o obtenir le même effet sans définir ces propriétés à tous les contrôles sur la fenêtre?

Merci.

Répondre

3

Vous pouvez définir ceci globalement dans le constucteur MainWindows.

Quelque chose comme ceci:

RenderOptions.ClearTypeHintProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata { DefaultValue = ClearTypeHint.Enabled }); 
TextOptions.TextFormattingModeProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata { DefaultValue = TextFormattingMode.Display }); 
+0

Merci, ça a marché! Mais ce code peut-il être déplacé ailleurs? Je voudrais le garder dans ma classe AeroGlass. – Lucas

Questions connexes