using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
namespace Controls
{
///
/// Interaction logic for
///
[ContentProperty(nameof(Symbol))]
public class MagicSymbolControl : ContentControl
{
///
/// Dependency property for property
///
public static readonly DependencyProperty SymbolProperty = DependencyProperty.Register(nameof(Symbol), typeof(object), typeof(MagicSymbolControl), new PropertyMetadata(default, PropertyChangedCallback));
private static void PropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
if (d is MagicSymbolControl magic)
{
magic.Content = MagicSymbolConverter.ConvertToFrameworkElement(e.NewValue);
}
}
///
/// Symbol to show
///
public object Symbol
{
get => GetValue(SymbolProperty);
set => SetValue(SymbolProperty, value);
}
///
/// Creates a new instance of
///
public MagicSymbolControl()
{
Focusable = false;
}
}
}