次の方法で共有


HyperLinkDataBindingHandler.DataBindControl(IDesignerHost, Control) メソッド

定義

指定したコントロールのデザイン時のデータ バインディングを解決します。

public:
 override void DataBindControl(System::ComponentModel::Design::IDesignerHost ^ designerHost, System::Web::UI::Control ^ control);
public override void DataBindControl (System.ComponentModel.Design.IDesignerHost designerHost, System.Web.UI.Control control);
override this.DataBindControl : System.ComponentModel.Design.IDesignerHost * System.Web.UI.Control -> unit
Public Overrides Sub DataBindControl (designerHost As IDesignerHost, control As Control)

パラメーター

designerHost
IDesignerHost

コントロールを含んでいるドキュメントの IDesignerHost

control
Control

データ連結する Control

次のコード例では、 クラスから派生する という名前 CustomHyperLinkDataBindingHandlerのクラスを HyperLinkDataBindingHandler 作成します。 クラスの プロパティのデザイン時のデータ バインディングが ImageUrl 解決され、デザイン時に CustomHyperLink データバインドされるときに、プロパティのプレースホルダー テキストが表示されます。

// Derive a class from the HyperLinkDataBindingHandler. It will 
// resolve  data binding for the CustomHyperlink at design time.
public class CustomHyperLinkDataBindingHandler : 
    HyperLinkDataBindingHandler
{
    // Override the DataBindControl to set property values in  
    // the DataBindingCollection at design time.
    public override void DataBindControl(IDesignerHost designerHost, 
        Control control)
    {
        DataBindingCollection bindings = 
            ((IDataBindingsAccessor)control).DataBindings;
        DataBinding imageBinding = bindings["ImageUrl"];

           // If Text is empty, supply a default value.
        if (!(imageBinding == null))
        {
            CustomHyperLink hype = (CustomHyperLink)control;
            hype.ImageUrl = "Image URL.";
        }

        // Call the base method to bind the control.
        base.DataBindControl(designerHost, control);
    } // DataBindControl
} // CustomHyperLinkDataBindingHandler
' Derive a class from the HyperLinkDataBindingHandler. It will 
' resolve  data binding for the CustomHyperlink at design time.
Public Class CustomHyperLinkDataBindingHandler
    Inherits HyperLinkDataBindingHandler

    ' Override the DataBindControl to set property values in  
    ' the DataBindingCollection at design time.
    Public Overrides Sub DataBindControl( _
        ByVal designerHost As IDesignerHost, ByVal control As Control)

        Dim bindings As DataBindingCollection = _
            CType(control, IDataBindingsAccessor).DataBindings
        Dim imageBinding As DataBinding = bindings("ImageUrl")

        If Not (imageBinding Is Nothing) Then
            Dim hLink As CustomHyperLink = CType(control, CustomHyperLink)
            hLink.ImageUrl = "Image URL."
        End If

        MyBase.DataBindControl(designerHost, control)
    End Sub
End Class

注釈

このメソッドは、コントロールの Text プロパティと NavigateUrl プロパティが HyperLink データ バインドされているかどうかを判断します。 プロパティが Text データ バインドの場合、このメソッドは プロパティの値を "DataBound" に設定します。 プロパティが NavigateUrl データ バインドの場合、このメソッドはプロパティの値をテキスト文字列に設定し、コントロールが動作するハイパーリンクの外観を持つようになります。

適用対象