Partager via


XsdSchemaFileEditor Classe

Définition

Fournit une interface utilisateur au moment du design pour sélectionner un fichier XSD (XML Schema Definition).

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

Exemples

L’exemple de code suivant montre comment associer une instance de la XsdSchemaFileEditor 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 XsdSchemaFileEditor classe fournit l’interface utilisateur permettant de sélectionner et de modifier un nom de fichier de définition de schéma 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 schema file property.  Indicate that the
        // property can be edited at design-time with the XsdSchemaFileEditor class.
        [EditorAttribute(typeof(System.Web.UI.Design.XsdSchemaFileEditor), 
                         typeof(System.Drawing.Design.UITypeEditor))]
        public string SchemaFileName
        {
            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 XSD schema file name property.  Indicate that the
        ' property can be edited at design-time with the XsdSchemaFileEditor class.
        <EditorAttribute(GetType(System.Web.UI.Design.XsdSchemaFileEditor), _
                         GetType(System.Drawing.Design.UITypeEditor))> _
        Public Property SchemaFileName() 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 XsdSchemaFileEditor objet est utilisé au moment du design pour sélectionner et modifier une URL pour un fichier de définition de schéma XML (.xsd) et pour affecter l’URL à une propriété de contrôle.

Utilisez l’attribut EditorAttribute pour associer à XsdSchemaFileEditor une 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 à son tour affiche 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 de pour XsdSchemaFileEditor définir un éditeur personnalisé pour une propriété URL de schéma XML. Par exemple, une classe dérivée peut remplacer la EditValue méthode, puis appeler la BuildUrl méthode avec une valeur personnalisée Filter ou Caption .

Constructeurs

XsdSchemaFileEditor()

Initialise une nouvelle instance de la classe XsdSchemaFileEditor.

Propriétés

Caption

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

Filter

Obtient les options de filtrage des URL pour l'éditeur, utilisées pour filtrer les éléments qui apparaissent 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