次の方法で共有


DataGridHyperlinkColumn クラス

定義

セルの DataGrid 要素をホストする Uri 列を表します。

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
継承

次の例は、 DataGridHyperlinkColumn プロパティと プロパティをBinding持つハイパーリンク テキストを設定Uriする をContentBinding示しています。 が の Hyperlink.Click 親であるため NavigationWindow 、イベントは自動的に DataGrid処理されます。

<NavigationWindow x:Class="DataGrid_CustomColumns.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:core="clr-namespace:System;assembly=mscorlib"
    xmlns:local="clr-namespace:DataGrid_CustomColumns"
    Title="Customers" Height="300" Width="300" ShowsNavigationUI="False"  >
    
<NavigationWindow.Resources>
    <!--Create an instance of the converter for Email-->
    <local:EmailConverter x:Key="EmailConverter" />
</NavigationWindow.Resources>
<NavigationWindow.Content>  
    
<Grid>
    <DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
        <DataGrid.Columns>
<!--The Email property contains a URI.  For example "mailto:lucy0@adventure-works.com"-->
<DataGridHyperlinkColumn Header="Email" Binding="{Binding Email}"  ContentBinding="{Binding Email, Converter={StaticResource EmailConverter}}" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
    </NavigationWindow.Content>
</NavigationWindow>
public partial class Window1 : NavigationWindow
{
Class Window1
public Window1()
{
    InitializeComponent();

    //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.
    InitializeComponent()
    ' 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;
        }
        else
        {
            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]
        Else
            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します。 次の図に DataGridHyperlinkColumnの例を示します。

電子メール アドレスを持つ DataGridHyperlinkColumn 電子メール アドレス

注意

Hyperlink ナビゲーションは、 の直接親または間接親 Hyperlink がナビゲーション ホストである場合にのみ発生します。 ナビゲーション ホストの例には、、、または XBAP をホストできる任意のブラウザーが含まれますNavigationWindowFrame。 詳細については、「ナビゲーションの概要」の「 ナビゲーション ホスト」の記事を参照してください。

XBAP のサポートの詳細については、「 WPF ブラウザーでホストされるアプリケーション (XBAP) についてよく寄せられる質問」を参照してください。

列を設定するには、 プロパティを使用して列を Uri データに Binding バインドします。 URI 文字列とは異なるハイパーリンク テキストを表示するには、テキスト値を プロパティに ContentBinding バインドします。 プロパティは Binding 、 列に作成された Hyperlink 要素または TextBox 要素に適用されます。 DataContext各セルの 要素の は、セルの行のデータ項目です。 したがって、バインディングを設定するには、 を設定するだけで済みます Binding.Path。 必要に応じて、データを Binding.Converter 変換する場合は を指定できます。 データ バインディングの詳細については、「 データ バインディング (WPF)」を参照してください。

注意

DataGridHyperlinkColumn では、 Hyperlink 非編集モードの要素と TextBox 編集モードの要素が作成されます。

他の種類のデータを表示する場合は、 DataGrid 次の列の種類を指定します。

列の型 データ表示
DataGridCheckBoxColumn ブール型 (Boolean) のデータを表示する場合に使用します。
DataGridComboBoxColumn 列挙データを表示するために使用します。
DataGridTextColumn テキストを表示するために使用します。

で他の DataGridコントロールを使用する場合は、 を使用して独自の列型を DataGridTemplateColumn作成できます。

コンストラクター

DataGridHyperlinkColumn()

DataGridHyperlinkColumn クラスの新しいインスタンスを初期化します。

フィールド

TargetNameProperty

TargetName 依存関係プロパティを識別します。

プロパティ

ActualWidth

列の現在の幅をデバイスに依存しない単位 (単位あたり 1/96 インチ) で取得します。

(継承元 DataGridColumn)
Binding

列とデータソースのプロパティを関連付けるバインドを取得または設定します。

(継承元 DataGridBoundColumn)
CanUserReorder

ユーザーが列見出しをドラッグして列の表示位置を変更できるかどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
CanUserResize

ユーザーがマウスを使用して列幅を調整できるかどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
CanUserSort

ユーザーが列見出しをクリックして項目を並べ替えられるかどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
CellStyle

列に含まれるセルを表示するときに使用するスタイルを取得または設定します。

(継承元 DataGridColumn)
ClipboardContentBinding

クリップボードのセルの内容を取得または設定するときに使用するバインディング オブジェクトを取得または設定します。

(継承元 DataGridBoundColumn)
ContentBinding

ハイパーリンクのテキストへのバインディングを取得または設定します。

DataGridOwner

この列を格納している DataGrid コントロールを取得します。

(継承元 DataGridColumn)
DefaultEditingElementStyle

EditingElementStyle プロパティの既定値。

DefaultElementStyle

ElementStyle プロパティの既定値。

DependencyObjectType

このインスタンスの DependencyObjectType CLR 型をラップする を取得します。

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(継承元 DispatcherObject)
DisplayIndex

DataGrid 内の他の列を基準とした列の表示位置を設定または取得します。

(継承元 DataGridColumn)
DragIndicatorStyle

ドラッグ操作中に列ヘッダーに適用するスタイル オブジェクトを取得または設定します。

(継承元 DataGridColumn)
EditingElementStyle

編集モードのセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。

(継承元 DataGridBoundColumn)
ElementStyle

編集モードではないセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。

(継承元 DataGridBoundColumn)
Header

列見出しのコンテンツを取得または設定します。

(継承元 DataGridColumn)
HeaderStringFormat

列ヘッダーの内容に適用される書式パターンを取得または設定します。

(継承元 DataGridColumn)
HeaderStyle

列ヘッダーの描画に使用されるスタイルを取得または設定します。

(継承元 DataGridColumn)
HeaderTemplate

列ヘッダーの視覚表示を定義するテンプレートを取得または設定します。

(継承元 DataGridColumn)
HeaderTemplateSelector

列ヘッダーに使用するテンプレートを選択するオブジェクトを取得または設定します。

(継承元 DataGridColumn)
IsAutoGenerated

列が自動生成されるかどうかを示す値を取得します。

(継承元 DataGridColumn)
IsFrozen

列の水平方向のスクロールが禁止されているかどうかを示す値を取得します。

(継承元 DataGridColumn)
IsReadOnly

列のセルが編集可能かどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。

(継承元 DependencyObject)
MaxWidth

列の幅の上限を取得または設定します。

(継承元 DataGridColumn)
MinWidth

列の幅の下限を取得または設定します。

(継承元 DataGridColumn)
SortDirection

列の並べ替え方向 (昇順または降順) を取得または設定します。

(継承元 DataGridColumn)
SortMemberPath

メンバーの並べ替えの基準にするプロパティ名、または階層をピリオドで区切ったプロパティ名を取得または設定します。

(継承元 DataGridColumn)
TargetName

ハイパーリンクの対象となるウィンドウまたはフレームの名前を取得または設定します。

Visibility

列の可視性を取得または設定します。

(継承元 DataGridColumn)
Width

列の幅または自動サイズ調整モードを取得または設定します。

(継承元 DataGridColumn)

メソッド

CancelCellEdit(FrameworkElement, Object)

列の編集中のセルの値を、指定した値に戻します。

CancelCellEdit(FrameworkElement, Object)

編集中のセルの値を、元 (編集前) の値に戻します。

(継承元 DataGridColumn)
CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
CommitCellEdit(FrameworkElement)

編集モードを終了する前に、必要な検証を実行します。

CommitCellEdit(FrameworkElement)

セル編集モードを終了する前に、必要な検証を実行します。

(継承元 DataGridColumn)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。

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

列の TextBox プロパティ値にバインドされた編集可能な ContentBinding 要素を取得します。

GenerateElement(DataGridCell, Object)

列の Hyperlink プロパティ値にバインドされた読み取り専用の ContentBinding 要素を取得します。

GetCellContent(DataGridRow)

この列と指定された行の交差位置にあるセルの Content プロパティ値を取得します。

(継承元 DataGridColumn)
GetCellContent(Object)

この列と指定されたデータ項目を表す行の交差位置にあるセルの Content プロパティ値を取得します。

(継承元 DataGridColumn)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
NotifyPropertyChanged(String)

この列を含んでいる DataGrid に、列プロパティが変更されたことを通知します。

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

DataGrid プロパティの値が変更された場合に、Binding に通知します。

(継承元 DataGridBoundColumn)
OnCoerceIsReadOnly(Boolean)

この列を格納するデータ グリッドのプロパティ規則に基づいて IsReadOnly プロパティの値を決定します。

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

DataGrid プロパティが変更されたときに ContentBinding に通知します。

OnCopyingCellClipboardContent(Object)

CopyingCellClipboardContent イベントを発生させます。

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

PastingCellClipboardContent イベントを発生させます。

(継承元 DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。 変更された特定の依存関係プロパティは、イベント データで報告されます。

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

列内のセルが編集モードになるとき呼び出されます。

ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。

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

列のプロパティ値の変更に応じて、列内のセルのコンテンツを更新します。

SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。

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

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

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

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(継承元 DispatcherObject)

イベント

CopyingCellClipboardContent

セルのクリップボードの内容が準備された後に発生します。

(継承元 DataGridColumn)
PastingCellClipboardContent

クリップボードの内容がセルに移動される前に発生します。

(継承元 DataGridColumn)

適用対象

こちらもご覧ください