54 lines
1.3 KiB
C#
54 lines
1.3 KiB
C#
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Markup;
|
|
using System.Resources;
|
|
|
|
namespace Microsoft.Research.DynamicDataDisplay.MarkupExtensions
|
|
{
|
|
/// <summary>
|
|
/// Represents a markup extension, which allows to get an access to application resource files.
|
|
/// </summary>
|
|
[MarkupExtensionReturnType(typeof(string))]
|
|
public class ResourceExtension : MarkupExtension
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="ResourceExtension"/> class.
|
|
/// </summary>
|
|
public ResourceExtension() { }
|
|
|
|
private string resourceKey;
|
|
//[ConstructorArgument("resourceKey")]
|
|
public string ResourceKey
|
|
{
|
|
get { return resourceKey; }
|
|
set
|
|
{
|
|
if (resourceKey == null)
|
|
throw new ArgumentNullException("resourceKey");
|
|
|
|
resourceKey = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="ResourceExtension"/> class.
|
|
/// </summary>
|
|
/// <param name="resourceKey">The resource key.</param>
|
|
public ResourceExtension(string resourceKey)
|
|
{
|
|
if (resourceKey == null)
|
|
throw new ArgumentNullException("resourceKey");
|
|
|
|
this.resourceKey = resourceKey;
|
|
}
|
|
|
|
public override object ProvideValue(IServiceProvider serviceProvider)
|
|
{
|
|
return Strings.UIResources.ResourceManager.GetString(resourceKey);
|
|
}
|
|
}
|
|
}
|