Initial Commit
This commit is contained in:
53
Common/Auxiliary/MarkupExtensions/ResourceExtension.cs
Normal file
53
Common/Auxiliary/MarkupExtensions/ResourceExtension.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
Common/Auxiliary/MarkupExtensions/SelfBinding.cs
Normal file
23
Common/Auxiliary/MarkupExtensions/SelfBinding.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Data;
|
||||
using System.Windows;
|
||||
|
||||
namespace Microsoft.Research.DynamicDataDisplay.MarkupExtensions
|
||||
{
|
||||
public class SelfBinding : Binding
|
||||
{
|
||||
public SelfBinding()
|
||||
{
|
||||
RelativeSource = new RelativeSource { Mode = RelativeSourceMode.Self };
|
||||
}
|
||||
|
||||
public SelfBinding(string propertyPath)
|
||||
: this()
|
||||
{
|
||||
Path = new PropertyPath(propertyPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
22
Common/Auxiliary/MarkupExtensions/TemplateBinding.cs
Normal file
22
Common/Auxiliary/MarkupExtensions/TemplateBinding.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Microsoft.Research.DynamicDataDisplay.MarkupExtensions
|
||||
{
|
||||
public class TemplateBinding : Binding
|
||||
{
|
||||
public TemplateBinding()
|
||||
{
|
||||
RelativeSource = new RelativeSource { Mode = RelativeSourceMode.TemplatedParent };
|
||||
}
|
||||
|
||||
public TemplateBinding(string propertyPath)
|
||||
: this()
|
||||
{
|
||||
Path = new System.Windows.PropertyPath(propertyPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Microsoft.Research.DynamicDataDisplay.MarkupExtensions
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public class XbapConditionalExpression : MarkupExtension
|
||||
{
|
||||
public XbapConditionalExpression() { }
|
||||
|
||||
public XbapConditionalExpression(object value)
|
||||
{
|
||||
this.Value = value;
|
||||
}
|
||||
|
||||
[ConstructorArgument("value")]
|
||||
public object Value { get; set; }
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider)
|
||||
{
|
||||
#if RELEASEXBAP
|
||||
return null;
|
||||
#else
|
||||
return ((ResourceDictionary)Application.LoadComponent(new Uri("/DynamicDataDisplay;component/Themes/Generic.xaml", UriKind.Relative)))[Value];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user