Hallo zusammen,
hier jetzt auch mal ein Praktisches Beispiel für ein Universal-App für Windows 8.1 und Windows Phone 8.1 Apps. Ihr könnt nun meine Blogs auch über dies App folgen und seit so immer auf dem laufenden.
Ich könnt die App im Windows Store unter dem folgenden Link beziehen:
Windows 8.1
http://apps.microsoft.com/windows/app/ccs-blogreader/26d01b75-35e9-437f-8ac8-44eb8584538a
Windows Phone 8.1
http://www.windowsphone.com/s?appid=120d63f1-c3d4-4364-a1f6-0891cc93c8b6
Information zur Entwicklung von Windows Store, Windows Phone App und ASP.NET MVC Anwendungen
Posts mit dem Label XAML werden angezeigt. Alle Posts anzeigen
Posts mit dem Label XAML werden angezeigt. Alle Posts anzeigen
Dienstag, 15. Juli 2014
Dienstag, 8. Juli 2014
XAML Formatieren von Bindings mit IValueConverter Interface
In vielen Fällen kommt es vor das, dass Format was man von
einer Datenquelle erhält, nicht der passende Formatierung für den Anzeigezweck
entspricht. Man kann natürlich die Datenquelle anpassen oder die ToString()Methoden
Überschreibt. Aber die kann man auch eleganter über einen Konverter erreichen.
Um einen Konverter für eine Type zu erstellen kann man sich
des Interfaces IValueConverter bedienen.
Diese Interface bedingt die Methode Convert und ConvertBack
und können im XAML beim Binding der Datenquelle wie folgt verwendet werden.
< UserControl.Resources>
<Converter:DateTimeConverter x:Key="DateTimeConverter" />
</UserControl.Resources>
<GridViewColumn
EntryDateMember ="{Binding Path=EntryDate, Converter={StaticResource DateTimeConverter}}" />
Die zugehörige C# Klasse kann mit folgendem Listing
verwendet werden.
public class DateTimeConverter : IValueConverter{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
return ((DateTime)value).ToString("dd.MM.yyyy");
}
else
{
return String.Empty
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return DateTime.Parse(value.ToString());
}
}
Im diesem Beispiel wird das Entrittsdatum im Format “dd.MM.yyyy”
zurückgegen. Man kann diese Konverter Klassen auf Bedingungsprüfungen
verwenden, um Beispielsweise die Darstellung des Textes zu verändern über
Abhängigkeiten der Datenquelle.
Im Beispiel wird die Schriftdicke durch einen Booleschen Wert bestimmt.
Im Beispiel wird die Schriftdicke durch einen Booleschen Wert bestimmt.
public class BooleanToFontWieghtConverter
: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
string ret = "Normal";
if((bool)value)
{
ret = "ExtraBold";
}
return ret;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return value.ToString().Equals("ExtraBold");
}
}
Für weiter Informationen siehe MSDN IValueConverter-Schnittstelle
Abonnieren
Posts (Atom)