|
namespace MediaStore
{
using System;
using System.Windows.Data;
/// <summary>
/// Two way IValueConverter that lets you bind a property on a bindable object
/// that can be an empty string value to a dependency property that should
/// be set to null in that case
/// </summary>
public class StringFormatValueConverter : IValueConverter
{
private readonly string formatString;
/// <summary>
/// Creates a new <see cref="StringFormatValueConverter"/>
/// </summary>
/// <param name="formatString">Format string, it can take zero or one parameters, the first one being replaced by the source value</param>
public StringFormatValueConverter(string formatString)
{
this.formatString = formatString;
}
/// <summary>
/// Converts the <paramref name="value"/> to a formatted string using the
/// format specified in the constructor.
/// </summary>
/// <param name="value">The value to format.</param>
/// <param name="targetType">The target output type (ignored).</param>
/// <param name="parameter">Optional parameter (ignored).</param>
/// <param name="culture">The culture to use in the format operation.</param>
/// <returns>The formatted string</returns>
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return string.Format(System.Globalization.CultureInfo.CurrentUICulture, this.formatString, value);
}
/// <summary>
/// Not supported.
/// </summary>
/// <param name="value">Ignored.</param>
/// <param name="targetType">Ignored.</param>
/// <param name="parameter">Ignored.</param>
/// <param name="culture">Ignored.</param>
/// <returns>No value is returned.</returns>
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
}
|
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.
Katka has several years of experience working in software development in the areas of market research and e-commerce. She has wide ranging experience in developing Java, ASP.Net MVC, ASP.Net, WPF, Silverlight, and Windows Phone applications.
Company:
Outcoder.com
Group:
XAML Experts
Proud co-creator of:
Surfy browser, Airlock Browser