DataGridHyperlinkColumn クラス


セルの DataGrid 要素をホストする Uri 列を表します。Represents a DataGrid column that hosts Uri elements in its cells.

public ref class DataGridHyperlinkColumn : System::Windows::Controls::DataGridBoundColumn
public class DataGridHyperlinkColumn : System.Windows.Controls.DataGridBoundColumn
type DataGridHyperlinkColumn = class
    inherit DataGridBoundColumn
Public Class DataGridHyperlinkColumn
Inherits DataGridBoundColumn

次の例は、UriBinding プロパティとハイパーリンクテキストを ContentBinding プロパティに設定する DataGridHyperlinkColumn を示しています。The following example shows a DataGridHyperlinkColumn that sets the Uri with the Binding property and the hyperlink text with the ContentBinding property. Hyperlink.Click イベントは、NavigationWindowDataGridの親であるため、自動的に処理されます。The Hyperlink.Click event is handled automatically because NavigationWindow is the parent of the DataGrid.

<NavigationWindow x:Class="DataGrid_CustomColumns.Window1"
    Title="Customers" Height="300" Width="300" ShowsNavigationUI="False"  >
    <!--Create an instance of the converter for Email-->
    <local:EmailConverter x:Key="EmailConverter" />
    <DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<!--The Email property contains a URI.  For example ""-->
<DataGridHyperlinkColumn Header="Email" Binding="{Binding Email}"  ContentBinding="{Binding Email, Converter={StaticResource EmailConverter}}" />
public partial class Window1 : NavigationWindow
Class Window1
public Window1()

    //GetData() creates a collection of Customer data from a database
    ObservableCollection<Customer> custdata = GetData();
    //Bind the DataGrid to the customer data
    DG1.DataContext = custdata;
Public Sub New()
    ' This call is required by the Windows Form Designer.
    ' Add any initialization after the InitializeComponent() call.

    'GetData() creates a collection of Customer data from a database
    Dim custdata As ObservableCollection(Of Customer) = GetData()

    'Bind the DataGrid to the customer data
    DG1.DataContext = custdata

End Sub
//Defines the customer object
public class Customer
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public Uri Email { get; set; }
    public bool IsMember { get; set; }
    public OrderStatus Status { get; set; }

'Defines the customer object
Public Class Customer
    Public Property FirstName() As String
    Public Property LastName() As String
    Public Property Email() As Uri
    Public Property IsMember() As Boolean
    Public Property Status() As OrderStatus
End Class
End Class
//Converts the mailto uri to a string with just the customer alias
public class EmailConverter : IValueConverter
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        if (value != null)
            string email = value.ToString();
            int index = email.IndexOf("@");
            string alias = email.Substring(7, index-7);
            return alias;
            string email = "";
            return email;

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        Uri email = new Uri((string)value);
        return email;
'Converts the mailto uri to a string with just the customer alias
Public Class EmailConverter
    Implements IValueConverter

    Public Function Convert(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
        If value IsNot Nothing Then
            Dim email As String = value.ToString()
            Dim index As Integer = email.IndexOf("@")
            Dim [alias] As String = email.Substring(7, index - 7)
            Return [alias]
            Dim email As String = ""
            Return email
        End If
    End Function

    Public Function ConvertBack(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
        Dim email As New Uri(DirectCast(value, String))
        Return email
    End Function
End Class


HTTP アドレスや電子メールアドレスなど、Uriを含むデータを表示するには、DataGridHyperlinkColumn を使用します。Use DataGridHyperlinkColumn to display data that contains a Uri, such as an HTTP address or email address. 次の図は、DataGridHyperlinkColumnの例を示しています。The following illustration shows an example of a DataGridHyperlinkColumn.

電子メールアドレスを使用した DataGridHyperlinkColumnDataGridHyperlinkColumn with email addresses


Hyperlink ナビゲーションは、Hyperlink の直接または間接の親がナビゲーションホストである場合にのみ発生します。Hyperlink navigation can only occur if either the direct or indirect parent of a Hyperlink is a navigation host. ナビゲーションホストの例としては、NavigationWindowFrame、または Microsoft Internet Explorer 6Microsoft Internet Explorer 6 以降、Firefox 2.0 以降などの XBAPXBAPsをホストできる任意のブラウザーなどがあります。Examples of navigation hosts include NavigationWindow, Frame, or any browser that can host XBAPXBAPs, such as Microsoft Internet Explorer 6Microsoft Internet Explorer 6 or later and Firefox 2.0 or later. 詳細については、「ナビゲーションの概要」の「ナビゲーションホスト」を参照してください。For more information, see the "Navigation Hosts" topic in Navigation Overview.

列を設定するには、Binding プロパティを使用して、列を Uri データにバインドします。To populate the column, bind the column to the Uri data by using the Binding property. URI 文字列とは異なるハイパーリンクテキストを表示するには、ContentBinding プロパティにテキスト値をバインドします。To display hyperlink text that is different than the URI string, bind the text value to the ContentBinding property. Binding プロパティは、列に作成された Hyperlink または TextBox 要素に適用されます。The Binding property is applied to the Hyperlink or TextBox element created in the column. 各セルの要素の DataContext は、セルが含まれている行のデータ項目です。The DataContext for the element in each cell is the data item for the row the cell is in. したがって、バインドを設定するには、Binding.Pathを設定するだけで済みます。Therefore, to set up the binding you only have to set the Binding.Path. 必要に応じて、データを変換する場合は Binding.Converter を指定できます。Optionally, you can specify a Binding.Converter if you want to convert the data. データバインディングの詳細については、「データバインディング (WPF)」を参照してください。For more information about data binding, see Data Binding (WPF).


DataGridHyperlinkColumn は、編集モードで TextBox 要素を編集モードで Hyperlink 要素を作成します。DataGridHyperlinkColumn creates a Hyperlink element in the non-editing mode and a TextBox element in the editing mode.

他の種類のデータを表示するには、DataGrid 次の列の型を使用します。If you want to display other types of data, DataGrid provides the following column types:

列の型Column Type データ表示Data Display
DataGridCheckBoxColumn ブール型のデータを表示するには、を使用します。Use to display Boolean data.
DataGridComboBoxColumn 列挙データを表示するには、を使用します。Use to display enumeration data.
DataGridTextColumn テキストの表示に使用します。Use to display text.

DataGridで他のコントロールを使用する場合は、DataGridTemplateColumnを使用して独自の列の型を作成できます。If you want to use other controls in your DataGrid, you can create your own column types by using DataGridTemplateColumn.



DataGridHyperlinkColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataGridHyperlinkColumn class.



TargetName 依存関係プロパティを識別します。Identifies the TargetName dependency property.



列の現在の幅を デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit) 単位で取得します。Gets the current width of the column, in デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit).

(継承元 DataGridColumn)

列とデータソースのプロパティを関連付けるバインドを取得または設定します。Gets or sets the binding that associates the column with a property in the data source.

(継承元 DataGridBoundColumn)

ユーザーが列見出しをドラッグして列の表示位置を変更できるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the user can change the column display position by dragging the column header.

(継承元 DataGridColumn)

ユーザーがマウスを使用して列幅を調整できるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the user can adjust the column width by using the mouse.

(継承元 DataGridColumn)

ユーザーが列見出しをクリックして項目を並べ替えられるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the user can sort the column by clicking the column header.

(継承元 DataGridColumn)

列に含まれるセルを表示するときに使用するスタイルを取得または設定します。Gets or sets the style that is used to render cells in the column.

(継承元 DataGridColumn)

クリップボードのセルの内容を取得または設定するときに使用するバインディング オブジェクトを取得または設定します。Gets or sets the binding object to use when getting or setting cell content for the clipboard.

(継承元 DataGridBoundColumn)

ハイパーリンクのテキストへのバインディングを取得または設定します。Gets or sets the binding to the text of the hyperlink.


この列を格納している DataGrid コントロールを取得します。Gets the DataGrid control that contains this column.

(継承元 DataGridColumn)

EditingElementStyle プロパティの既定値。The default value of the EditingElementStyle property.


ElementStyle プロパティの既定値。The default value of the ElementStyle property.


このインスタンスの DependencyObjectType 型をラップする CLRCLR を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(継承元 DependencyObject)

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)

DataGrid 内の他の列を基準とした列の表示位置を設定または取得します。Gets or sets the display position of the column relative to the other columns in the DataGrid.

(継承元 DataGridColumn)

ドラッグ操作中に列ヘッダーに適用するスタイル オブジェクトを取得または設定します。Gets or sets the style object to apply to the column header during a drag operation.

(継承元 DataGridColumn)

編集モードのセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。Gets or sets the style that is used when rendering the element that the column displays for a cell in editing mode.

(継承元 DataGridBoundColumn)

編集モードではないセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。Gets or sets the style that is used when rendering the element that the column displays for a cell that is not in editing mode.

(継承元 DataGridBoundColumn)

列見出しのコンテンツを取得または設定します。Gets or sets the content of the column header.

(継承元 DataGridColumn)

列ヘッダーの内容に適用される書式パターンを取得または設定します。Gets or sets the format pattern to apply to the content of the column header.

(継承元 DataGridColumn)

列ヘッダーの描画に使用されるスタイルを取得または設定します。Gets or sets the style that is used when rendering the column header.

(継承元 DataGridColumn)

列ヘッダーの視覚表示を定義するテンプレートを取得または設定します。Gets or sets the template that defines the visual representation of the column header.

(継承元 DataGridColumn)

列ヘッダーに使用するテンプレートを選択するオブジェクトを取得または設定します。Gets or sets the object that selects which template to use for the column header.

(継承元 DataGridColumn)

列が自動生成されるかどうかを示す値を取得します。Gets a value that indicates whether the column is auto-generated.

(継承元 DataGridColumn)

列の水平方向のスクロールが禁止されているかどうかを示す値を取得します。Gets a value that indicates whether the column is prevented from scrolling horizontally.

(継承元 DataGridColumn)

列のセルが編集可能かどうかを示す値を取得または設定します。Gets or sets a value that indicates whether cells in the column can be edited.

(継承元 DataGridColumn)

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(継承元 DependencyObject)

列の幅の上限を取得または設定します。Gets or sets the maximum width constraint of the column.

(継承元 DataGridColumn)

列の幅の下限を取得または設定します。Gets or sets the minimum width constraint of the column.

(継承元 DataGridColumn)

列の並べ替え方向 (昇順または降順) を取得または設定します。Gets or sets the sort direction (ascending or descending) of the column.

(継承元 DataGridColumn)

メンバーの並べ替えの基準にするプロパティ名、または階層をピリオドで区切ったプロパティ名を取得または設定します。Gets or sets a property name, or a period-delimited hierarchy of property names, that indicates the member to sort by.

(継承元 DataGridColumn)

ハイパーリンクの対象となるウィンドウまたはフレームの名前を取得または設定します。Gets or sets the name of a target window or frame for the hyperlink.


列の可視性を取得または設定します。Gets or sets the visibility of the column.

(継承元 DataGridColumn)

列の幅または自動サイズ調整モードを取得または設定します。Gets or sets the column width or automatic sizing mode.

(継承元 DataGridColumn)


CancelCellEdit(FrameworkElement, Object)

列の編集中のセルの値を、指定した値に戻します。Causes the column cell being edited to revert to the specified value.


呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(継承元 DependencyObject)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(継承元 DependencyObject)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の CoerceValueCallback の依存関係プロパティのプロパティ メタデータで指定されている DependencyObject 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(継承元 DependencyObject)

編集モードを終了する前に、必要な検証を実行します。Performs any required validation before exiting edit mode.


指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(継承元 DependencyObject)
GenerateEditingElement(DataGridCell, Object)

列の TextBox プロパティ値にバインドされた編集可能な ContentBinding 要素を取得します。Gets an editable TextBox element that is bound to the column's ContentBinding property value.

GenerateElement(DataGridCell, Object)

列の Hyperlink プロパティ値にバインドされた読み取り専用の ContentBinding 要素を取得します。Gets a read-only Hyperlink element that is bound to the column's ContentBinding property value.


この列と指定された行の交差位置にあるセルの Content プロパティ値を取得します。Retrieves the Content property value for the cell at the intersection of this column and the specified row.

(継承元 DataGridColumn)

この列と指定されたデータ項目を表す行の交差位置にあるセルの Content プロパティ値を取得します。Gets the Content property value for the cell at the intersection of this column and the row that represents the specified data item.

(継承元 DataGridColumn)

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(継承元 DependencyObject)

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(継承元 DependencyObject)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(継承元 DependencyObject)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property.

(継承元 DependencyObject)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

この列を含んでいる DataGrid に、列プロパティが変更されたことを通知します。Notifies the DataGrid that contains this column that a column property has changed.

(継承元 DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

DataGrid プロパティの値が変更された場合に、Binding に通知します。Notifies the DataGrid when the value of the Binding property changes.

(継承元 DataGridBoundColumn)

この列を格納するデータ グリッドのプロパティ規則に基づいて IsReadOnly プロパティの値を決定します。Determines the value of the IsReadOnly property based on property rules from the data grid that contains this column.

(継承元 DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

DataGrid プロパティが変更されたときに ContentBinding に通知します。Notifies the DataGrid when the ContentBinding property changes.


CopyingCellClipboardContent イベントを発生させます。Raises the CopyingCellClipboardContent event.

(継承元 DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

PastingCellClipboardContent イベントを発生させます。Raises the PastingCellClipboardContent event.

(継承元 DataGridColumn)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. 変更された特定の依存関係プロパティは、イベント データで報告されます。The specific dependency property that changed is reported in the event data.

(継承元 DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

列内のセルが編集モードになるとき呼び出されます。Called when a cell in the column enters editing mode.


ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(継承元 DependencyObject)
RefreshCellContent(FrameworkElement, String)

列のプロパティ値の変更に応じて、列内のセルのコンテンツを更新します。Refreshes the contents of a cell in the column in response to a column property value change.

SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(継承元 DependencyObject)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(継承元 DependencyObject)

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)



セルのクリップボードの内容が準備された後に発生します。Occurs after the cell clipboard content is prepared.

(継承元 DataGridColumn)

クリップボードの内容がセルに移動される前に発生します。Occurs before the clipboard content is moved to the cell.

(継承元 DataGridColumn)