This documentation is archived and is not being maintained.

XmlDataFileEditor Class

Provides a design-time user interface for selecting an XML data file.

Namespace:  System.Web.UI.Design
Assembly:  System.Design (in System.Design.dll)

'Declaration
<SecurityPermissionAttribute(SecurityAction.Demand, Flags := SecurityPermissionFlag.UnmanagedCode)> _
Public Class XmlDataFileEditor _
	Inherits UrlEditor
'Usage
Dim instance As XmlDataFileEditor

An XmlDataFileEditor object is used at design time to select and edit a URL for an XML data file (.xml), and then assign the URL to a control property. For example, the XmlDataSource control uses the XmlDataFileEditor class at design time to set the value of the DataFile property.

Use the EditorAttribute attribute to associate the XmlDataFileEditor with a property. When the associated property is edited on the design surface, the designer host calls the EditValue method. The EditValue method uses the BuildUrl method, which in turn displays a user interface for selecting the URL, and then returns the URL that is selected by the user. The GetEditStyle method indicates the display style of the user interface.

Derive a class from the XmlDataFileEditor to define a custom editor for an XML data property. For example, a derived class can override the EditValue method, and then call the BuildUrl method with a custom Filter or Caption value.

The following code example demonstrates how to associate an instance of the XmlDataFileEditor class with a property that is contained within a custom control. When the control property is edited on the design surface, the XmlDataFileEditor class provides the user interface to select and edit an XML file name for the property value.

Imports Microsoft.VisualBasic
Imports System
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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Show: