Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

XslTransformFileEditor Class

Note: This class is new in the .NET Framework version 2.0.

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

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

public class XslTransformFileEditor : UrlEditor
public class XslTransformFileEditor extends UrlEditor
public class XslTransformFileEditor extends UrlEditor

An XslTransformFileEditor object is used at design time to select and edit a URL for a XML transform file (.xsl) and to assign the URL to a control property. For example, the XmlDataSource control uses the XslTransformFileEditor class at design time to set the value of the TransformFile property.

Use the EditorAttribute attribute to associate the XslTransformFileEditor 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 XslTransformFileEditor to define a custom editor for an XML transform file 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 XslTransformFileEditor class with a property that is contained within a custom control. When the control property is edited on the design surface, the XslTransformFileEditor class allows the user interface to select and edit an XML transform file name for the property value.

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 transform file property.  Indicate that the
        // property can be edited at design-time with the XslTransformFileEditor class.
        [EditorAttribute(typeof(System.Web.UI.Design.XslTransformFileEditor), 
                         typeof(System.Drawing.Design.UITypeEditor))]
        public string TransformFileName
        {
            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 = "";
                }
            }
        }
    }

}

System.Object
   System.Drawing.Design.UITypeEditor
     System.Web.UI.Design.UrlEditor
      System.Web.UI.Design.XslTransformFileEditor
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 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.