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); } } } }