Création d'un Style dans le code derrière
Est-ce que quelqu'un sait comment créer un Style wpf dans le code derrière, Je ne trouve rien sur le web ou les documents MSDN. J'ai essayé cela mais cela ne fonctionne pas:
Style s = new Style(typeof(TextBlock));
s.RegisterName("Foreground", Brushes.Green);
s.RegisterName("Text", "Green");
breakInfoControl.dataTextBlock.Style = s;
30
demandé sur
Lipis
2009-11-13 17:00:54
2 réponses
Vous devez ajouter des setters au style plutôt que D'utiliser RegisterName. Le code suivant, dans L'événement Window_Loaded, créera un nouveau style TextBlock qui deviendra la valeur par défaut pour toutes les instances D'un TextBlock dans la fenêtre. Si vous préférez le définir explicitement sur un TextBlock particulier, vous pouvez définir la propriété Style de ce contrôle plutôt que d'ajouter le style au dictionnaire de ressources.
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Style style = new Style(typeof (TextBlock));
style.Setters.Add(new Setter(TextBlock.ForegroundProperty, Brushes.Green));
style.Setters.Add(new Setter(TextBlock.TextProperty, "Green"));
Resources.Add(typeof (TextBlock), style);
}
71
répondu
mjeanes
2009-11-13 14:31:53
Cela devrait vous obtenir ce dont vous avez besoin:
Style style = new Style
{
TargetType = typeof(Control)
};
style.Setters.Add(new Setter(Control.ForegroundProperty, Brushes.Green));
myControl.Style = style;
8
répondu
oltman
2009-11-13 14:31:09