|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows;
namespace GGG.GameAttackCombos.Client {
/// <summary>
/// A value converter that converts a string representing a resource key into the referenced
/// Drawing after retrieving it from the application's resources.
/// </summary>
[ValueConversion(typeof(string), typeof(Drawing))]
public class DrawingResourceKeyConverter : IValueConverter {
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
if (value is string) {
if (targetType == typeof(Drawing)) {
// Get the resource with a key specified as the value.
return (Drawing)Application.Current.Resources[value];
} else {
throw new ArgumentException("The target type of the value to convert must be a Drawing.", "targetType");
}
} else {
throw new ArgumentException("The value to convert must be a string.", "value");
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
return null;
}
#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.
I began programming on my Commodore 64 at around the age of 12. After migrating to DOS and then Windows, I decided to take on the Web. Several languages and platforms later, I have settled in with .NET nicely. I am currently the owner of a software consulting company and lead application developer for a learning-based technology consultation company.
The love of a finished application is usually at war with the desire to improve it as soon as it's released (they're never really finished).