Freigeben über


XmlDataFileEditor Klasse

Definition

Stellt eine Entwurfszeit-Benutzeroberfläche für das Auswählen einer XML-Datendatei bereit.

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
Vererbung
XmlDataFileEditor

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Eine Instanz der Klasse einer Eigenschaft zugeordnet wird, die XmlDataFileEditor in einem benutzerdefinierten Steuerelement enthalten ist. Wenn die Steuerelementeigenschaft auf der Entwurfsoberfläche bearbeitet wird, stellt die XmlDataFileEditor Klasse die Benutzeroberfläche bereit, um einen XML-Dateinamen für den Eigenschaftswert auszuwählen und zu bearbeiten.

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

Hinweise

Ein XmlDataFileEditor Objekt wird zur Entwurfszeit verwendet, um eine URL für eine XML-Datendatei (.xml) auszuwählen und zu bearbeiten, und weisen Sie die URL einer Steuerelementeigenschaft zu. Beispielsweise verwendet das XmlDataSource Steuerelement die XmlDataFileEditor Klasse zur Entwurfszeit, um den Wert der DataFile Eigenschaft festzulegen.

Verwenden Sie das EditorAttribute Attribut, um die XmlDataFileEditor Eigenschaft zuzuordnen. Wenn die zugeordnete Eigenschaft auf der Entwurfsoberfläche bearbeitet wird, ruft der Designer die EditValue Methode auf. Die EditValue Methode verwendet die BuildUrl Methode, die wiederum eine Benutzeroberfläche zum Auswählen der URL anzeigt, und gibt dann die URL zurück, die vom Benutzer ausgewählt wird. Die GetEditStyle Methode gibt den Anzeigestil der Benutzeroberfläche an.

Leiten Sie eine Klasse von der XmlDataFileEditor zum Definieren eines benutzerdefinierten Editors für eine XML-Dateneigenschaft ab. Beispielsweise kann eine abgeleitete Klasse die EditValue Methode außer Kraft setzen und dann die BuildUrl Methode mit einem benutzerdefinierten Filter oder Caption wert aufrufen.

Konstruktoren

XmlDataFileEditor()

Initialisiert eine neue Instanz der XmlDataFileEditor-Klasse.

Eigenschaften

Caption

Ruft die für das Auswahldialogfeld anzuzeigende Beschriftung ab.

Filter

Ruft die URL-Filteroptionen für den Editor ab, die zum Filtern der Elemente im URL-Auswahldialogfeld verwendet werden.

IsDropDownResizable

Ruft einen Wert ab, der angibt, ob Dropdowneditoren von den Benutzern in der Größe veränderbar sein sollten.

(Geerbt von UITypeEditor)
Options

Ruft die Optionen ab, die der URL-Generator verwenden soll.

(Geerbt von UrlEditor)

Methoden

EditValue(IServiceProvider, Object)

Bearbeitet den Wert des angegebenen Objekts, wobei der von der GetEditStyle()-Methode angegebene Editor-Stil verwendet wird.

(Geerbt von UITypeEditor)
EditValue(ITypeDescriptorContext, IServiceProvider, Object)

Bearbeitet den Wert des angegebenen Objekts, wobei der von der GetEditStyle(ITypeDescriptorContext)-Methode angegebene Editor-Stil verwendet wird.

(Geerbt von UrlEditor)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEditStyle()

Ruft den von der EditValue(IServiceProvider, Object)-Methode verwendeten Editor-Stil ab.

(Geerbt von UITypeEditor)
GetEditStyle(ITypeDescriptorContext)

Ruft den Bearbeitungsstil der EditValue(ITypeDescriptorContext, IServiceProvider, Object)-Methode ab.

(Geerbt von UrlEditor)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetPaintValueSupported()

Gibt an, ob dieser Editor das Zeichnen einer Objektwertdarstellung unterstützt.

(Geerbt von UITypeEditor)
GetPaintValueSupported(ITypeDescriptorContext)

Gibt an, ob der angegebene Kontext das Zeichnen einer Objektwertdarstellung innerhalb des angegebenen Kontexts unterstützt.

(Geerbt von UITypeEditor)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
PaintValue(Object, Graphics, Rectangle)

Zeichnet eine Darstellung des Werts des angegebenen Objekts in den angegebenen Bereich.

(Geerbt von UITypeEditor)
PaintValue(PaintValueEventArgs)

Zeichnet die Darstellung eines Objektwerts mit dem angegebenen PaintValueEventArgs.

(Geerbt von UITypeEditor)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für

Siehe auch