Partager via


XmlDataFileEditor Classe

Définition

Fournit une interface utilisateur au moment du design pour sélectionner un fichier de données XML.

public ref class XmlDataFileEditor : System::Web::UI::Design::UrlEditor
public class XmlDataFileEditor : System.Web.UI.Design.UrlEditor
type XmlDataFileEditor = class
    inherit UrlEditor
Public Class XmlDataFileEditor
Inherits UrlEditor
Héritage
XmlDataFileEditor

Exemples

L’exemple de code suivant montre comment associer une instance de la XmlDataFileEditor classe à une propriété contenue dans un contrôle personnalisé. Lorsque la propriété de contrôle est modifiée sur l’aire de conception, la XmlDataFileEditor classe fournit l’interface utilisateur pour sélectionner et modifier un nom de fichier XML pour la valeur de la propriété.

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;
using System.IO;

namespace ControlDesignerSamples.CS
{
    // Define a simple text control, derived from the 
    // System.Web.UI.WebControls.Label class.
    [
        Designer(typeof(TextControlDesigner))
    ]
    public class SimpleTextControl : Label
    {
        // Define a private member to store the file name value in the control.
        private string _filename = "";
        private string _internalText = "";

        // Define the public XML data file name property.  Indicate that the
        // property can be edited at design-time with the XmlDataFileEditor class.
        [EditorAttribute(typeof(System.Web.UI.Design.XmlDataFileEditor), 
                         typeof(System.Drawing.Design.UITypeEditor))]
        public string XmlFileName
        {
            get
            {
                return _filename;
            }
            set
            {
                _filename = value;
            }
        }

        // Define a property that returns the timestamp
        // for the selected file.
        public string LastChanged
        {
            get
            {
                if ((_filename != null) && (_filename.Length > 0))
                {
                    if (File.Exists(_filename))
                    {
                        DateTime lastChangedStamp = File.GetLastWriteTime(_filename);
                        return lastChangedStamp.ToLongDateString();
                    }
                }
                return "";
            }
        }

        // Override the control Text property, setting the default
        // text to the LastChanged string value for the selected
        // file name.  If the file name has not been set in the
        // design view, then default to an empty string.
        public override string Text
        {
            get
            {
                if ((_internalText == "") && (LastChanged.Length > 0))
                {
                    // If the internally stored value hasn't been set,
                    // and the file name property has been set,
                    // return the last changed timestamp for the file.
                    _internalText = LastChanged;
                } 
                return _internalText;
            }

            set
            {
                if ((value != null) && (value.Length > 0))
                {
                    _internalText = value;
                }
                else {
                    _internalText = "";
                }
            }
        }
    }
}

Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls
Imports System.IO

Namespace ControlDesignerSamples.VB


    ' Define a simple text control, derived from the 
    ' System.Web.UI.WebControls.Label class.

    <Designer(GetType(TextControlDesigner))> _
    Public Class SimpleTextControl
        Inherits Label

        ' Define a private member to store the file name value in the control.
        Private _filename As String = ""
        Private _internalText As String = ""

        ' Define the public XML data file name property.  Indicate that the
        ' property can be edited at design-time with the XmlDataFileEditor class.
        <EditorAttribute(GetType(System.Web.UI.Design.XmlDataFileEditor), _
                         GetType(System.Drawing.Design.UITypeEditor))> _
        Public Property XmlFileName() As String
            Get
                Return _filename
            End Get

            Set(ByVal value As String)
                _filename = value
            End Set
        End Property

        ' Define a property that returns the timestamp
        ' for the selected file.
        Public ReadOnly Property LastChanged() As String
            Get
                If Not _filename Is Nothing AndAlso _filename.Length > 0 Then
                    If File.Exists(_filename) Then
                        Dim lastChangedStamp As DateTime
                        lastChangedStamp = File.GetLastWriteTime(_filename)
                        Return lastChangedStamp.ToLongDateString()
                    End If
                End If

                Return String.Empty

            End Get

        End Property

        ' Override the control Text property, setting the default
        ' text to the LastChanged string value for the selected
        ' file name.  If the file name has not been set in the
        ' design view, then default to an empty string.
        Public Overrides Property Text() As String
            Get
                If _internalText.Length = 0 And LastChanged.Length > 0 Then
                    ' If the internally stored value hasn't been set,
                    ' and the file name property has been set,
                    ' return the last changed timestamp for the file.

                    _internalText = LastChanged
                End If
                Return _internalText
            End Get

            Set(ByVal value As String)
                If Not value Is Nothing AndAlso value.Length > 0 Then
                    _internalText = value
                Else
                    _internalText = String.Empty
                End If

            End Set
        End Property

    End Class
End Namespace

Remarques

Un XmlDataFileEditor objet est utilisé au moment de la conception pour sélectionner et modifier une URL pour un fichier de données XML (.xml), puis affecter l’URL à une propriété de contrôle. Par exemple, le XmlDataSource contrôle utilise la XmlDataFileEditor classe au moment du design pour définir la valeur de la DataFile propriété.

Utilisez l’attribut EditorAttribute pour associer la XmlDataFileEditor propriété. Lorsque la propriété associée est modifiée sur l’aire de conception, l’hôte du concepteur appelle la EditValue méthode. La EditValue méthode utilise la BuildUrl méthode, qui affiche à son tour une interface utilisateur pour sélectionner l’URL, puis retourne l’URL sélectionnée par l’utilisateur. La GetEditStyle méthode indique le style d’affichage de l’interface utilisateur.

Dérivez une classe à partir de laquelle XmlDataFileEditor définir un éditeur personnalisé pour une propriété de données XML. Par exemple, une classe dérivée peut remplacer la EditValue méthode, puis appeler la BuildUrl méthode avec une valeur ou Caption une valeur personnaliséeFilter.

Constructeurs

XmlDataFileEditor()

Initialise une nouvelle instance de la classe XmlDataFileEditor.

Propriétés

Caption

Obtient la légende à afficher dans la boîte de dialogue de sélection.

Filter

Obtient les options de filtrage pour l'éditeur, qui est utilisé pour filtrer les éléments indiqués dans la boîte de dialogue de sélection des URL.

IsDropDownResizable

Obtient une valeur indiquant si les éditeurs déroulants doivent être redimensionnables par l’utilisateur.

(Hérité de UITypeEditor)
Options

Obtient les options à utiliser par le générateur d'URL.

(Hérité de UrlEditor)

Méthodes

EditValue(IServiceProvider, Object)

Modifie la valeur de l'objet spécifié à l'aide du style d'éditeur fourni par la méthode GetEditStyle().

(Hérité de UITypeEditor)
EditValue(ITypeDescriptorContext, IServiceProvider, Object)

Modifie la valeur de l'objet spécifié à l'aide du style d'éditeur fourni par la méthode GetEditStyle(ITypeDescriptorContext).

(Hérité de UrlEditor)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEditStyle()

Obtient le style de l'éditeur utilisé par la méthode EditValue(IServiceProvider, Object).

(Hérité de UITypeEditor)
GetEditStyle(ITypeDescriptorContext)

Obtient le style de modification de la méthode EditValue(ITypeDescriptorContext, IServiceProvider, Object).

(Hérité de UrlEditor)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetPaintValueSupported()

Indique si cet éditeur permet de peindre une représentation de la valeur d'un objet.

(Hérité de UITypeEditor)
GetPaintValueSupported(ITypeDescriptorContext)

Indique si le contexte spécifié permet de peindre une représentation de la valeur d'un objet dans le contexte spécifié.

(Hérité de UITypeEditor)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
PaintValue(Object, Graphics, Rectangle)

Peint une représentation de la valeur de l'objet spécifié sur la toile spécifiée.

(Hérité de UITypeEditor)
PaintValue(PaintValueEventArgs)

Peint une représentation de la valeur d'un objet à l'aide du PaintValueEventArgs spécifié.

(Hérité de UITypeEditor)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi