DataGridHyperlinkColumn Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- Warisan
Contoh
Contoh berikut ini memperlihatkan DataGridHyperlinkColumn yang mengatur Uri dengan Binding properti dan teks hyperlink dengan ContentBinding properti . Peristiwa Hyperlink.Click ditangani secara otomatis karena NavigationWindow merupakan induk dari 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
Keterangan
Gunakan DataGridHyperlinkColumn untuk menampilkan data yang berisi Uri, seperti alamat HTTP atau alamat email. Ilustrasi berikut menunjukkan contoh DataGridHyperlinkColumn.
Catatan
Hyperlink navigasi hanya dapat terjadi jika induk langsung atau tidak langsung dari adalah Hyperlink host navigasi. Contoh host navigasi termasuk NavigationWindow, , Frameatau browser apa pun yang dapat menghosting XBAP. Untuk informasi selengkapnya, lihat artikel "Host Navigasi" di Gambaran Umum Navigasi.
Untuk informasi selengkapnya tentang dukungan XBAP, lihat Tanya jawab umum tentang aplikasi yang dihosting browser WPF (XBAP).
Untuk mengisi kolom, ikat kolom ke Uri data dengan menggunakan Binding properti . Untuk menampilkan teks hyperlink yang berbeda dari string URI, ikat nilai teks ke ContentBinding properti . Properti Binding diterapkan ke elemen atau TextBox yang Hyperlink dibuat di kolom . DataContext untuk elemen di setiap sel adalah item data untuk baris tempat sel berada. Oleh karena itu, untuk mengatur pengikatan, Anda hanya perlu mengatur Binding.Path. Secara opsional, Anda dapat menentukan Binding.Converter apakah Anda ingin mengonversi data. Untuk informasi selengkapnya tentang pengikatan data, lihat Pengikatan Data (WPF).
Catatan
DataGridHyperlinkColumn membuat Hyperlink elemen dalam mode non-pengeditan dan TextBox elemen dalam mode pengeditan.
Jika Anda ingin menampilkan jenis data lain, DataGrid berikan jenis kolom berikut:
Jenis Kolom | Tampilan Data |
---|---|
DataGridCheckBoxColumn | Gunakan untuk menampilkan data Boolean. |
DataGridComboBoxColumn | Gunakan untuk menampilkan data enumerasi. |
DataGridTextColumn | Gunakan untuk menampilkan teks. |
Jika Anda ingin menggunakan kontrol lain di DataGrid, Anda dapat membuat jenis kolom Anda sendiri dengan menggunakan DataGridTemplateColumn.
Konstruktor
DataGridHyperlinkColumn() |
Menginisialisasi instans baru kelas DataGridHyperlinkColumn. |
Bidang
TargetNameProperty |
TargetName Mengidentifikasi properti dependensi. |
Properti
ActualWidth |
Mendapatkan lebar kolom saat ini, di unit independen perangkat (1/96 inci per unit). (Diperoleh dari DataGridColumn) |
Binding |
Mendapatkan atau mengatur pengikatan yang mengaitkan kolom dengan properti di sumber data. (Diperoleh dari DataGridBoundColumn) |
CanUserReorder |
Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat mengubah posisi tampilan kolom dengan menyeret header kolom. (Diperoleh dari DataGridColumn) |
CanUserResize |
Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat menyesuaikan lebar kolom dengan menggunakan mouse. (Diperoleh dari DataGridColumn) |
CanUserSort |
Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat mengurutkan kolom dengan mengklik header kolom. (Diperoleh dari DataGridColumn) |
CellStyle |
Mendapatkan atau mengatur gaya yang digunakan untuk merender sel dalam kolom. (Diperoleh dari DataGridColumn) |
ClipboardContentBinding |
Mendapatkan atau mengatur objek pengikatan yang akan digunakan saat mendapatkan atau mengatur konten sel untuk clipboard. (Diperoleh dari DataGridBoundColumn) |
ContentBinding |
Mendapatkan atau mengatur pengikatan ke teks hyperlink. |
DataGridOwner |
DataGrid Mendapatkan kontrol yang berisi kolom ini. (Diperoleh dari DataGridColumn) |
DefaultEditingElementStyle |
Nilai EditingElementStyle default properti . |
DefaultElementStyle |
Nilai ElementStyle default properti . |
DependencyObjectType |
Mendapatkan yang membungkus jenis CLR instans DependencyObjectType ini. (Diperoleh dari DependencyObject) |
Dispatcher |
Mendapatkan ini DispatcherDispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
DisplayIndex |
Mendapatkan atau mengatur posisi tampilan kolom relatif terhadap kolom lain di DataGrid. (Diperoleh dari DataGridColumn) |
DragIndicatorStyle |
Mendapatkan atau mengatur objek gaya untuk diterapkan ke header kolom selama operasi seret. (Diperoleh dari DataGridColumn) |
EditingElementStyle |
Mendapatkan atau mengatur gaya yang digunakan saat merender elemen yang ditampilkan kolom untuk sel dalam mode pengeditan. (Diperoleh dari DataGridBoundColumn) |
ElementStyle |
Mendapatkan atau mengatur gaya yang digunakan saat merender elemen yang ditampilkan kolom untuk sel yang tidak dalam mode pengeditan. (Diperoleh dari DataGridBoundColumn) |
Header |
Mendapatkan atau mengatur konten header kolom. (Diperoleh dari DataGridColumn) |
HeaderStringFormat |
Mendapatkan atau mengatur pola format untuk diterapkan ke konten header kolom. (Diperoleh dari DataGridColumn) |
HeaderStyle |
Mendapatkan atau mengatur gaya yang digunakan saat merender header kolom. (Diperoleh dari DataGridColumn) |
HeaderTemplate |
Mendapatkan atau mengatur templat yang menentukan representasi visual header kolom. (Diperoleh dari DataGridColumn) |
HeaderTemplateSelector |
Mendapatkan atau mengatur objek yang memilih templat mana yang akan digunakan untuk header kolom. (Diperoleh dari DataGridColumn) |
IsAutoGenerated |
Mendapatkan nilai yang menunjukkan apakah kolom dibuat secara otomatis. (Diperoleh dari DataGridColumn) |
IsFrozen |
Mendapatkan nilai yang menunjukkan apakah kolom dicegah menggulir secara horizontal. (Diperoleh dari DataGridColumn) |
IsReadOnly |
Mendapatkan atau mengatur nilai yang menunjukkan apakah sel dalam kolom dapat diedit. (Diperoleh dari DataGridColumn) |
IsSealed |
Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja). (Diperoleh dari DependencyObject) |
MaxWidth |
Mendapatkan atau mengatur batasan lebar maksimum kolom. (Diperoleh dari DataGridColumn) |
MinWidth |
Mendapatkan atau mengatur batasan lebar minimum kolom. (Diperoleh dari DataGridColumn) |
SortDirection |
Mendapatkan atau mengatur arah pengurutan (naik atau turun) kolom. (Diperoleh dari DataGridColumn) |
SortMemberPath |
Mendapatkan atau mengatur nama properti, atau hierarki nama properti yang dibatasi titik, yang menunjukkan anggota untuk diurutkan. (Diperoleh dari DataGridColumn) |
TargetName |
Mendapatkan atau mengatur nama jendela target atau bingkai untuk hyperlink. |
Visibility |
Mendapatkan atau mengatur visibilitas kolom. (Diperoleh dari DataGridColumn) |
Width |
Mendapatkan atau mengatur lebar kolom atau mode ukuran otomatis. (Diperoleh dari DataGridColumn) |
Metode
CancelCellEdit(FrameworkElement, Object) |
Menyebabkan sel kolom diedit untuk kembali ke nilai yang ditentukan. |
CancelCellEdit(FrameworkElement, Object) |
Menyebabkan sel diedit kembali ke nilai asli yang tidak diedit. (Diperoleh dari DataGridColumn) |
CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
ClearValue(DependencyProperty) |
Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi. (Diperoleh dari DependencyObject) |
ClearValue(DependencyPropertyKey) |
Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey. (Diperoleh dari DependencyObject) |
CoerceValue(DependencyProperty) |
Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject. (Diperoleh dari DependencyObject) |
CommitCellEdit(FrameworkElement) |
Melakukan validasi yang diperlukan sebelum keluar dari mode edit. |
CommitCellEdit(FrameworkElement) |
Melakukan validasi yang diperlukan sebelum keluar dari mode pengeditan sel. (Diperoleh dari DataGridColumn) |
Equals(Object) |
Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject. (Diperoleh dari DependencyObject) |
GenerateEditingElement(DataGridCell, Object) |
Mendapatkan elemen yang dapat TextBox diedit yang terikat ke nilai properti kolom ContentBinding . |
GenerateElement(DataGridCell, Object) |
Mendapatkan elemen baca-saja Hyperlink yang terikat ke nilai properti kolom ContentBinding . |
GetCellContent(DataGridRow) |
Content Mengambil nilai properti untuk sel di persimpangan kolom ini dan baris yang ditentukan. (Diperoleh dari DataGridColumn) |
GetCellContent(Object) |
Content Mendapatkan nilai properti untuk sel di persimpangan kolom ini dan baris yang mewakili item data yang ditentukan. (Diperoleh dari DataGridColumn) |
GetHashCode() |
Mendapatkan kode hash untuk ini DependencyObject. (Diperoleh dari DependencyObject) |
GetLocalValueEnumerator() |
Membuat enumerator khusus untuk menentukan properti dependensi mana yang telah mengatur nilai secara lokal pada ini DependencyObject. (Diperoleh dari DependencyObject) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
GetValue(DependencyProperty) |
Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject. (Diperoleh dari DependencyObject) |
InvalidateProperty(DependencyProperty) |
Mengevaluasi ulang nilai efektif untuk properti dependensi yang ditentukan. (Diperoleh dari DependencyObject) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
NotifyPropertyChanged(String) |
Memberi tahu DataGrid yang berisi kolom ini bahwa properti kolom telah berubah. (Diperoleh dari DataGridColumn) |
OnBindingChanged(BindingBase, BindingBase) |
Memberi tahu DataGrid kapan nilai Binding properti berubah. (Diperoleh dari DataGridBoundColumn) |
OnCoerceIsReadOnly(Boolean) |
Menentukan nilai IsReadOnly properti berdasarkan aturan properti dari kisi data yang berisi kolom ini. (Diperoleh dari DataGridBoundColumn) |
OnContentBindingChanged(BindingBase, BindingBase) |
Memberi tahu DataGrid kapan ContentBinding properti berubah. |
OnCopyingCellClipboardContent(Object) |
Memunculkan kejadian CopyingCellClipboardContent. (Diperoleh dari DataGridColumn) |
OnPastingCellClipboardContent(Object, Object) |
Memunculkan kejadian PastingCellClipboardContent. (Diperoleh dari DataGridColumn) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Dipanggil setiap kali nilai efektif dari properti dependensi apa pun pada ini DependencyObject telah diperbarui. Properti dependensi tertentu yang berubah dilaporkan dalam data peristiwa. (Diperoleh dari DependencyObject) |
PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Dipanggil saat sel dalam kolom memasuki mode pengeditan. |
ReadLocalValue(DependencyProperty) |
Mengembalikan nilai lokal properti dependensi, jika ada. (Diperoleh dari DependencyObject) |
RefreshCellContent(FrameworkElement, String) |
Merefresh konten sel dalam kolom sebagai respons terhadap perubahan nilai properti kolom. |
SetCurrentValue(DependencyProperty, Object) |
Mengatur nilai properti dependensi tanpa mengubah sumber nilainya. (Diperoleh dari DependencyObject) |
SetValue(DependencyProperty, Object) |
Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya. (Diperoleh dari DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi. (Diperoleh dari DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus membuat serialisasi nilai untuk properti dependensi yang disediakan. (Diperoleh dari DependencyObject) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
Acara
CopyingCellClipboardContent |
Terjadi setelah konten clipboard sel disiapkan. (Diperoleh dari DataGridColumn) |
PastingCellClipboardContent |
Terjadi sebelum konten clipboard dipindahkan ke sel. (Diperoleh dari DataGridColumn) |