Benutzer mit den meisten Antworten
Brush im Style definieren

Frage
-
Hi!
ich habe in der App.xaml einen Styl definiert, ungefähr so:
<Style x:Key="TextBlockFormat" TargetType="TextBlock">
<Setter Property="Foreground" Value="DarkGray"></Setter>
</Style>jetzt würde ich gern den Foregroundvalue auf einen Brush setzen, wie muss ich das schreiben? Wie ich mir das dachte:
<Setter Property="Foreground">
hier die Brushtags
</Setter>
gehts leider nicht :-)
gruss jens
Freitag, 27. August 2010 06:56
Antworten
-
Hallo Jens,
hier ein Beispiel für eine Brush-Resource mit einem Farbverlauf von Grün mit Opacity 100% zu Schwarz mit Opacity 0%.
<LinearGradientBrush x:Key="BrushResourceTwo"> <LinearGradientBrush.RelativeTransform> <CompositeTransform CenterY="0.5" CenterX="0.5"/> </LinearGradientBrush.RelativeTransform> <GradientStop Color="#FF609778" Offset="0"/> <GradientStop Offset="1"/> </LinearGradientBrush>
Noch ein Hinweis: Wenn Du nicht mit den Standardfarben Red, Gray, Green etc. sondern mit ARGB-Farben im Hex-Format arbeiten möchtest, bietet es sich an, die Farben in einem ResourcenDictionary abzlegen und nach Bedarf darauf zuzugreifen. In meinem Blog habe ich dazu vor einiger Zeit mal nen Artikel geschrieben:
Das ist v.a. dann sinnvoll, wenn man mit Themes arbeitet, oder allgemein, mit Farbverlaufskombinationen, die öfter verwendet werden.
Beste Grüße,
Martin
- Als Antwort vorgeschlagen Robert Breitenhofer Dienstag, 31. August 2010 10:04
- Als Antwort markiert Robert Breitenhofer Mittwoch, 8. September 2010 14:31
Samstag, 28. August 2010 08:05 -
Hallo Jens,
> ich habe in der App.xaml einen Styl definiert, ungefähr so: [...]
> jetzt würde ich gern den Foregroundvalue auf einen Brush setzen, wie muss ich das schreiben?Das geht in der App.xaml zum Beispiel so:
<SolidColorBrush x:Key="MeineBrush" Color="Blue" /> <Style x:Key="TextBlockFormat" TargetType="TextBlock"> <Setter Property="Foreground" Value="{StaticResource MeineBrush}"></Setter> </Style>
ciao Frank- Als Antwort vorgeschlagen Robert Breitenhofer Dienstag, 31. August 2010 10:04
- Als Antwort markiert Robert Breitenhofer Mittwoch, 8. September 2010 14:31
Samstag, 28. August 2010 09:18
Alle Antworten
-
Hallo Jens,
hier sind zwei ziemlich frische Artikel über Styles (in Englisch aber wie ich finde gut):
http://www.scottlogic.co.uk/blog/gergely/2010/07/styles-in-silverlight-an-introduction/
Sehr hilfreich sind auch die unter folgendem Link gelisteten Artikel:
http://blogs.msdn.com/b/expression/archive/2009/09/09/silverlight-control-styling-tips-articles.aspx
Hier gibts einen Webcast auf Deutsch:
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032381783
Und hier zwei Lernvideos in Englisch:
http://expression.microsoft.com/en-us/cc263914.aspx
http://expression.microsoft.com/en-us/cc263919.aspx
Auch auf der Silverligth Seite (Englisch) findet man einige Videos, einfach dort nach "Style" suchen:
http://www.silverlight.net/learn/videos/silverlight-videos/
Zu Deiner Frage. Die verstehe ich so, dass Du den Style einem Objekt zuordnen möchtest. Das geht so:
<TextBlock Style="{StaticResource TextBlockFormat}" />
Beste Grüße,
Martin
Freitag, 27. August 2010 09:38 -
Hallo Jens,
hier ein Beispiel für eine Brush-Resource mit einem Farbverlauf von Grün mit Opacity 100% zu Schwarz mit Opacity 0%.
<LinearGradientBrush x:Key="BrushResourceTwo"> <LinearGradientBrush.RelativeTransform> <CompositeTransform CenterY="0.5" CenterX="0.5"/> </LinearGradientBrush.RelativeTransform> <GradientStop Color="#FF609778" Offset="0"/> <GradientStop Offset="1"/> </LinearGradientBrush>
Noch ein Hinweis: Wenn Du nicht mit den Standardfarben Red, Gray, Green etc. sondern mit ARGB-Farben im Hex-Format arbeiten möchtest, bietet es sich an, die Farben in einem ResourcenDictionary abzlegen und nach Bedarf darauf zuzugreifen. In meinem Blog habe ich dazu vor einiger Zeit mal nen Artikel geschrieben:
Das ist v.a. dann sinnvoll, wenn man mit Themes arbeitet, oder allgemein, mit Farbverlaufskombinationen, die öfter verwendet werden.
Beste Grüße,
Martin
- Als Antwort vorgeschlagen Robert Breitenhofer Dienstag, 31. August 2010 10:04
- Als Antwort markiert Robert Breitenhofer Mittwoch, 8. September 2010 14:31
Samstag, 28. August 2010 08:05 -
Hallo Jens,
> ich habe in der App.xaml einen Styl definiert, ungefähr so: [...]
> jetzt würde ich gern den Foregroundvalue auf einen Brush setzen, wie muss ich das schreiben?Das geht in der App.xaml zum Beispiel so:
<SolidColorBrush x:Key="MeineBrush" Color="Blue" /> <Style x:Key="TextBlockFormat" TargetType="TextBlock"> <Setter Property="Foreground" Value="{StaticResource MeineBrush}"></Setter> </Style>
ciao Frank- Als Antwort vorgeschlagen Robert Breitenhofer Dienstag, 31. August 2010 10:04
- Als Antwort markiert Robert Breitenhofer Mittwoch, 8. September 2010 14:31
Samstag, 28. August 2010 09:18