-->
Datenkonvertierung
Die Klasse für die Konvertierung welche das Interface IValueConverer
implementiert. Die beiden Methoden Convert() und ConvertBack() werden
automatisch duch XAML aufgerufen durch setzen der Eigenschaft Converter.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;// Für Wert Konvertierung
using System.Windows.Data; //Für ValueConversion
namespace Wpf_Ressourcen
{
[ValueConversion(typeof(DateTime),typeof(String))]
class WertKonvertierer : IValueConverter
{
/* Das implementierte Interface IValueConverter verlangt zwingend die
beiden
* Methoden Convert() und ConvertBack()
**/
public object Convert(object pValue, Type pTargetType, object pParameter,
CultureInfo pCulture)
{
//DateTime vDate = (DateTime)pValue;
//return vDate.ToShortDateString();
//return vDate.ToLongDateString();
string vReturn = pValue.ToString();
string vResultat = String.Empty;
vResultat = vReturn.Substring(0, 2);
vResultat += "-";
vResultat += vReturn.Substring(3, 2);
vResultat += "-";
vResultat += vReturn.Substring(6, 4);
return vResultat;
}
public object ConvertBack(object pValue, Type pTargetType, object
pParameter, CultureInfo pCulture) {
string strValue = pValue.ToString();
DateTime resultDateTime;
if (DateTime.TryParse(strValue, out resultDateTime))
{
return resultDateTime;
}
return pValue;
}
}
}
Die Verwendung im XAML
In Windows die Einbindung des Namespace der obigen Klasse:
xmlns:prj="clr-namespace:Wpf_Ressourcen"
In den Resourcen die Angabe der Klasse als x:Key aus dem definirten
xml-Namespace:
<prj:WertKonvertierer x:Key="DatumUmsetzer" />
Im Control der Aufruf:
<TextBox Text="{Binding XPath=//Person/Geboren, Converter ={StaticResource
DatumUmsetzer}}"/>
|