DataGridHyperlinkColumn クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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の例を示します。
注意
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) |
メソッド
イベント
CopyingCellClipboardContent |
セルのクリップボードの内容が準備された後に発生します。 (継承元 DataGridColumn) |
PastingCellClipboardContent |
クリップボードの内容がセルに移動される前に発生します。 (継承元 DataGridColumn) |
適用対象
こちらもご覧ください
.NET