using System.Windows;
using System.Windows.Controls;
namespace Developpez.Dotnet.Windows.Controls
{
///
/// Représente un champ de formulaire (contrôle FormView)
///
[TemplatePart(Name = "PART_Header", Type = typeof(FrameworkElement))]
[TemplatePart(Name = "PART_Display", Type = typeof(FrameworkElement))]
[TemplatePart(Name = "PART_Editor", Type = typeof(FrameworkElement))]
[StyleTypedPropertyAttribute(Property = "HeaderContainerStyle", StyleTargetType = typeof(ContentPresenter))]
public class FormField : Control
{
static FormField()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(FormField),
new FrameworkPropertyMetadata(typeof(FormField)));
}
///
/// Identifiant de la propriété Header
///
public static readonly DependencyProperty HeaderProperty =
DependencyProperty.Register("Header", typeof(object), typeof(FormField), new UIPropertyMetadata(null));
///
/// Identifiant de la propriété EditorTemplate
///
public static readonly DependencyProperty EditorTemplateProperty =
DependencyProperty.Register("EditorTemplate", typeof(DataTemplate), typeof(FormField), new UIPropertyMetadata(null));
///
/// Identifiant de la propriété DisplayTemplate
///
public static readonly DependencyProperty DisplayTemplateProperty =
DependencyProperty.Register("DisplayTemplate", typeof(DataTemplate), typeof(FormField), new UIPropertyMetadata(null));
///
/// Identifiant de la propriété HeaderTemplate
///
public static readonly DependencyProperty HeaderTemplateProperty =
DependencyProperty.Register("HeaderTemplate", typeof(DataTemplate), typeof(FormField), new PropertyMetadata(null));
///
/// Identifiant de la propriété HeaderStyle
///
public static readonly DependencyProperty HeaderContainerStyleProperty =
DependencyProperty.Register("HeaderContainerStyle", typeof(Style), typeof(FormField), new PropertyMetadata(null));
///
/// Obtient ou définit l'en-tête du champ du formulaire.
///
public object Header
{
get { return GetValue(HeaderProperty); }
set { SetValue(HeaderProperty, value); }
}
///
/// Obtient ou définit le modèle à utiliser pour l'édition du champ
///
public DataTemplate EditorTemplate
{
get { return (DataTemplate)GetValue(EditorTemplateProperty); }
set { SetValue(EditorTemplateProperty, value); }
}
///
/// Obtient ou définit le modèle à utiliser pour l'affichage du champ
///
public DataTemplate DisplayTemplate
{
get { return (DataTemplate)GetValue(DisplayTemplateProperty); }
set { SetValue(DisplayTemplateProperty, value); }
}
///
/// Obtient ou définit le modèle à utiliser pour l'en-tête du champ
///
public DataTemplate HeaderTemplate
{
get { return (DataTemplate)GetValue(HeaderTemplateProperty); }
set { SetValue(HeaderTemplateProperty, value); }
}
///
/// Obtient ou définit le style à utiliser pour l'en-tête du champ
///
public Style HeaderContainerStyle
{
get { return (Style)GetValue(HeaderContainerStyleProperty); }
set { SetValue(HeaderContainerStyleProperty, value); }
}
}
}