38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using System.Windows;
|
|
|
|
namespace TimeScheduler.Common
|
|
{
|
|
/// <summary>Hilfsklasse, mit der man in andere Datenkontexte greifen kann</summary>
|
|
/// <example>
|
|
/// Vorbereitung:
|
|
/// <code language="xaml">
|
|
/// <FrameworkElement.Resources>
|
|
/// <c:BindingProxy x:Key="proxy" Data="{Binding}">
|
|
/// </FrameworkElement.Resources>
|
|
/// </code>
|
|
/// Verwendung an einer anderen Stelle:
|
|
/// <code language="xaml">
|
|
/// <FrameworkElement Property="{Binding Source={StaticResource proxy},Path=VMProperty}">
|
|
/// </code>
|
|
/// </example>
|
|
class BindingProxy : Freezable
|
|
{
|
|
#region Konstruktion
|
|
/// <summary>Standard-Konstruktor</summary>
|
|
public BindingProxy() { }
|
|
#endregion
|
|
|
|
#region Überschreibungen
|
|
/// <summary>Ermittelt das Hauptobjekt</summary>
|
|
/// <returns>Ein neues Hauptobjekt</returns>
|
|
protected override Freezable CreateInstanceCore() { return new BindingProxy(); }
|
|
#endregion
|
|
|
|
#region Eigenschaften
|
|
/// <summary>Getter/Setter für <see cref="DataProperty"/></summary>
|
|
public object Data { get { return GetValue(DataProperty); } set { SetValue(DataProperty, value); } }
|
|
/// <summary>Eigenschaft in der der Datenkontext gebunden wird</summary>
|
|
public static readonly DependencyProperty DataProperty = DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy), new PropertyMetadata(null));
|
|
#endregion
|
|
}
|
|
}
|