XsdSchemaFileEditor Class
Assembly: System.Design (in system.design.dll)
An XsdSchemaFileEditor object is used at design time to select and edit a URL for an XML schema definition file (.xsd), and to assign the URL to a control property.
Use the EditorAttribute attribute to associate the XsdSchemaFileEditor 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 XsdSchemaFileEditor to define a custom editor for an XML schema URL 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 XsdSchemaFileEditor class with a property that is contained within a custom control. When the control property is edited on the design surface, the XsdSchemaFileEditor class provides the user interface to select and edit an XML schema definition 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 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
- SecurityPermission for calling unmanaged code. Demand value: Demand; Associated enumeration: UnmanagedCode.
System.Drawing.Design.UITypeEditor
System.Web.UI.Design.UrlEditor
System.Web.UI.Design.XsdSchemaFileEditor