|
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="FormattingConverter.cs" company="Catel development team">
// Copyright (c) 2008 - 2011 Catel development team. All rights reserved.
// </copyright>
// <summary>
// Converter for formatting short date values.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
using System;
using System.Windows.Data;
namespace Catel.Windows.Data.Converters
{
/// <summary>
/// Converter for formatting short date values.
/// </summary>
#if !SILVERLIGHT
[ValueConversion(typeof(object), typeof(string))]
#endif
public class FormattingConverter : IValueConverter
{
#region Variables
private readonly string _defaultFormatString;
#endregion
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="FormattingConverter"/> class.
/// </summary>
public FormattingConverter()
: this(string.Empty) { }
/// <summary>
/// Initializes a new instance of the <see cref="FormattingConverter"/> class.
/// </summary>
/// <param name="defaultFormatString">A default format string.</param>
protected FormattingConverter(string defaultFormatString)
{
_defaultFormatString = defaultFormatString;
}
#endregion
#region Methods
/// <summary>
/// Convert to formatted string.
/// </summary>
/// <param name="value">A value.</param>
/// <param name="targetType">Target type.</param>
/// <param name="parameter">Format string.</param>
/// <param name="culture">A culture.</param>
/// <returns>Converted value.</returns>
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string formatString = string.Format("{{0:{0}}}", (parameter as string) ?? _defaultFormatString);
return string.Format(culture, formatString, value);
}
/// <summary>
/// Convert back.
/// </summary>
/// <param name="value">A value.</param>
/// <param name="targetType">Target type.</param>
/// <param name="parameter">Parameter.</param>
/// <param name="culture">A culture.</param>
/// <returns>Converted value.</returns>
/// <remarks>We don't intend this to ever be called.</remarks>
public virtual object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return ConverterHelper.DoNothingBindingValue;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.