Bagikan melalui


DataGridHyperlinkColumn Kelas

Definisi

Mewakili kolom yang menghosting DataGridUri elemen dalam selnya.

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.

DataGridHyperlinkColumn dengan alamat email

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)

Berlaku untuk

Lihat juga