Feedback

C# - Windows Phone: Color/Brush aus string

Veröffentlicht von am 22.02.2014
(0 Bewertungen)
Manchmal möchte man vielleicht einen Farbnamen oder einen Farbcode in ein Color oder Brush-Objekt konvertieren, so wie es im XAML geht.
Unter WPF könnte man einen Typkonverter nutzen, dieser ist aber unter Windows Phone nicht verfügbar. Das Einfachste ist darum den XamlReader für sich arbeiten zu lassen.

Benötigte Namespaces
System.Windows.Markup
System.Windows.Media

Getestete Plattformen
Windows Phone 8 im VS 2012 Simulator

Folgendes Snippet zeigt den Weg über einen Typconverter in WPF:
http://dotnet-snippets.de/snippet/string-to-solidcolorbrush/3861
GFU-Schulungen  [Anzeige]

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

/// <summary>
/// Konvertiert eine Zeichenfolge in ein <see cref="System.Windows.Media.Color"/>-Objekt.
/// </summary>
/// <param name="colorName">Der Name oder Code der Farbe.</param>
/// <returns>Ein <see cref="System.Windows.Media.Color"/>-PObjekt mit dem Farbwert von <paramref name="colorName"/>.</returns>
public Color StringToColor(string colorName)
{
    string xaml = "<Color xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' >" + colorName + "</Color>";
    return (Color)XamlReader.Load(xaml);
}
/// <summary>
/// Konvertiert eine Zeichenfolge in ein <see cref="System.Windows.Media.SolidColorBrush"/>-Objekt.
/// </summary>
/// <param name="colorName">Der Name oder Code der Farbe.</param>
/// <returns>Ein <see cref="System.Windows.Media.SolidColorBrush"/>-PObjekt mit dem Farbwert von <paramref name="colorName"/>.</returns>
public SolidColorBrush StringToBrush(string colorName)
{
    string xaml = "<SolidColorBrush xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' >" + colorName + "</SolidColorBrush>";
    return (SolidColorBrush)XamlReader.Load(xaml);
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!