Udostępnij za pośrednictwem


DataGridHyperlinkColumn Klasa

Definicja

Reprezentuje kolumnę DataGrid , która hostuje Uri elementy w komórkach.

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
Dziedziczenie

Przykłady

W poniższym przykładzie pokazano obiekt DataGridHyperlinkColumn , który ustawia Uri właściwość za pomocą Binding właściwości i tekst hiperłącza z właściwością ContentBinding . Zdarzenie Hyperlink.Click jest obsługiwane automatycznie, ponieważ NavigationWindow jest elementem nadrzędnym obiektu 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

Uwagi

Służy DataGridHyperlinkColumn do wyświetlania danych zawierających element , Uritaki jak adres HTTP lub adres e-mail. Na poniższej ilustracji przedstawiono przykład obiektu DataGridHyperlinkColumn.

DataGridHyperlinkColumn z adresami e-mail

Uwaga

Hyperlink nawigacja może wystąpić tylko wtedy, gdy element nadrzędny bezpośredni lub pośredni elementu Hyperlink jest hostem nawigacji. Przykłady hostów nawigacji to NavigationWindow, Framelub dowolna przeglądarka, która może hostować XBAPs. Aby uzyskać więcej informacji, zobacz artykuł "Hosty nawigacji" w sekcji Omówienie nawigacji.

Aby uzyskać więcej informacji na temat obsługi XBAP, zobacz Często zadawane pytania dotyczące aplikacji hostowanych w przeglądarce (XBAP) WPF.

Aby wypełnić kolumnę, powiąż kolumnę z Uri danymi przy użyciu Binding właściwości . Aby wyświetlić tekst hiperlinku inny niż ciąg identyfikatora URI, powiąż wartość tekstową z właściwością ContentBinding . Właściwość Binding jest stosowana do Hyperlink elementu lub TextBox utworzonego w kolumnie . Element DataContext dla elementu w każdej komórce jest elementem danych dla wiersza, w których znajduje się komórka. W związku z tym, aby skonfigurować powiązanie, musisz ustawić Binding.Pathtylko element . Opcjonalnie możesz określić Binding.Converter , czy chcesz przekonwertować dane. Aby uzyskać więcej informacji na temat powiązania danych, zobacz Powiązanie danych (WPF).

Uwaga

DataGridHyperlinkColumn Tworzy Hyperlink element w trybie nieedytowania i TextBox element w trybie edycji.

Jeśli chcesz wyświetlić inne typy danych, DataGrid udostępnia następujące typy kolumn:

Typ kolumny Wyświetlanie danych
DataGridCheckBoxColumn Służy do wyświetlania danych logicznych.
DataGridComboBoxColumn Służy do wyświetlania danych wyliczenia.
DataGridTextColumn Służy do wyświetlania tekstu.

Jeśli chcesz użyć innych kontrolek w programie DataGrid, możesz utworzyć własne typy kolumn przy użyciu polecenia DataGridTemplateColumn.

Konstruktory

DataGridHyperlinkColumn()

Inicjuje nowe wystąpienie klasy DataGridHyperlinkColumn.

Pola

TargetNameProperty

TargetName Identyfikuje właściwość zależności.

Właściwości

ActualWidth

Pobiera bieżącą szerokość kolumny w jednostkach niezależnych od urządzenia (1/96 cala na jednostkę).

(Odziedziczone po DataGridColumn)
Binding

Pobiera lub ustawia powiązanie, które kojarzy kolumnę z właściwością w źródle danych.

(Odziedziczone po DataGridBoundColumn)
CanUserReorder

Pobiera lub ustawia wartość wskazującą, czy użytkownik może zmienić położenie wyświetlania kolumny, przeciągając nagłówek kolumny.

(Odziedziczone po DataGridColumn)
CanUserResize

Pobiera lub ustawia wartość wskazującą, czy użytkownik może dostosować szerokość kolumny przy użyciu myszy.

(Odziedziczone po DataGridColumn)
CanUserSort

Pobiera lub ustawia wartość wskazującą, czy użytkownik może sortować kolumnę, klikając nagłówek kolumny.

(Odziedziczone po DataGridColumn)
CellStyle

Pobiera lub ustawia styl używany do renderowania komórek w kolumnie.

(Odziedziczone po DataGridColumn)
ClipboardContentBinding

Pobiera lub ustawia obiekt powiązania do użycia podczas pobierania lub ustawiania zawartości komórki dla schowka.

(Odziedziczone po DataGridBoundColumn)
ContentBinding

Pobiera lub ustawia powiązanie na tekst hiperłącza.

DataGridOwner

Pobiera kontrolkę zawierającą DataGrid tę kolumnę.

(Odziedziczone po DataGridColumn)
DefaultEditingElementStyle

Wartość domyślna EditingElementStyle właściwości.

DefaultElementStyle

Wartość domyślna ElementStyle właściwości.

DependencyObjectType

Pobiera klasę DependencyObjectType , która opakowuje typ CLR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Pobiera element, z Dispatcher który DispatcherObject jest skojarzony.

(Odziedziczone po DispatcherObject)
DisplayIndex

Pobiera lub ustawia pozycję wyświetlania kolumny względem innych kolumn w obiekcie DataGrid.

(Odziedziczone po DataGridColumn)
DragIndicatorStyle

Pobiera lub ustawia obiekt stylu, który ma być stosowany do nagłówka kolumny podczas operacji przeciągania.

(Odziedziczone po DataGridColumn)
EditingElementStyle

Pobiera lub ustawia styl używany podczas renderowania elementu wyświetlanego przez kolumnę dla komórki w trybie edycji.

(Odziedziczone po DataGridBoundColumn)
ElementStyle

Pobiera lub ustawia styl używany podczas renderowania elementu wyświetlanego przez kolumnę dla komórki, która nie jest w trybie edycji.

(Odziedziczone po DataGridBoundColumn)
Header

Pobiera lub ustawia zawartość nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderStringFormat

Pobiera lub ustawia wzorzec formatu, który ma być stosowany do zawartości nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderStyle

Pobiera lub ustawia styl używany podczas renderowania nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderTemplate

Pobiera lub ustawia szablon, który definiuje wizualną reprezentację nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderTemplateSelector

Pobiera lub ustawia obiekt, który wybiera szablon do użycia dla nagłówka kolumny.

(Odziedziczone po DataGridColumn)
IsAutoGenerated

Pobiera wartość wskazującą, czy kolumna jest generowana automatycznie.

(Odziedziczone po DataGridColumn)
IsFrozen

Pobiera wartość wskazującą, czy kolumna nie może przewijać się w poziomie.

(Odziedziczone po DataGridColumn)
IsReadOnly

Pobiera lub ustawia wartość wskazującą, czy można edytować komórki w kolumnie.

(Odziedziczone po DataGridColumn)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu).

(Odziedziczone po DependencyObject)
MaxWidth

Pobiera lub ustawia ograniczenie maksymalnej szerokości kolumny.

(Odziedziczone po DataGridColumn)
MinWidth

Pobiera lub ustawia ograniczenie minimalnej szerokości kolumny.

(Odziedziczone po DataGridColumn)
SortDirection

Pobiera lub ustawia kierunek sortowania (rosnąco lub malejąco) kolumny.

(Odziedziczone po DataGridColumn)
SortMemberPath

Pobiera lub ustawia nazwę właściwości lub rozdzielaną kropkami hierarchię nazw właściwości, która wskazuje element członkowski do sortowania.

(Odziedziczone po DataGridColumn)
TargetName

Pobiera lub ustawia nazwę okna docelowego lub ramki dla hiperłącza.

Visibility

Pobiera lub ustawia widoczność kolumny.

(Odziedziczone po DataGridColumn)
Width

Pobiera lub ustawia szerokość kolumny lub tryb automatycznego określania rozmiaru.

(Odziedziczone po DataGridColumn)

Metody

CancelCellEdit(FrameworkElement, Object)

Powoduje, że komórka kolumny jest edytowana, aby przywrócić określoną wartość.

CancelCellEdit(FrameworkElement, Object)

Powoduje, że komórka jest edytowana, aby przywrócić oryginalną, nieedytowaną wartość.

(Odziedziczone po DataGridColumn)
CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez element DependencyPropertyKey.

(Odziedziczone po DependencyObject)
CoerceValue(DependencyProperty)

Przekształca wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject.

(Odziedziczone po DependencyObject)
CommitCellEdit(FrameworkElement)

Wykonuje dowolną wymaganą walidację przed zakończeniem trybu edycji.

CommitCellEdit(FrameworkElement)

Wykonuje dowolną wymaganą walidację przed zakończeniem trybu edycji komórek.

(Odziedziczone po DataGridColumn)
Equals(Object)

Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Pobiera edytowalny TextBox element, który jest powiązany z wartością właściwości kolumny ContentBinding .

GenerateElement(DataGridCell, Object)

Pobiera element tylko Hyperlink do odczytu, który jest powiązany z wartością właściwości kolumny ContentBinding .

GetCellContent(DataGridRow)

Content Pobiera wartość właściwości komórki na przecięciu tej kolumny i określonego wiersza.

(Odziedziczone po DataGridColumn)
GetCellContent(Object)

Content Pobiera wartość właściwości komórki na przecięciu tej kolumny i wiersza reprezentującego określony element danych.

(Odziedziczone po DataGridColumn)
GetHashCode()

Pobiera kod skrótu dla tego DependencyObjectpliku .

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości dla tego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia klasy DependencyObject.

(Odziedziczone po DependencyObject)
InvalidateProperty(DependencyProperty)

Ponownie oblicza efektywną wartość dla określonej właściwości zależności.

(Odziedziczone po DependencyObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
NotifyPropertyChanged(String)

Powiadamia o tym DataGrid , że zawiera tę kolumnę, że właściwość kolumny została zmieniona.

(Odziedziczone po DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

Powiadamia o DataGrid zmianie wartości Binding właściwości.

(Odziedziczone po DataGridBoundColumn)
OnCoerceIsReadOnly(Boolean)

Określa wartość IsReadOnly właściwości na podstawie reguł właściwości z siatki danych zawierającej tę kolumnę.

(Odziedziczone po DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

Powiadamia o DataGrid zmianie ContentBinding właściwości.

OnCopyingCellClipboardContent(Object)

CopyingCellClipboardContent Zgłasza zdarzenie.

(Odziedziczone po DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

PastingCellClipboardContent Zgłasza zdarzenie.

(Odziedziczone po DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wywoływane za każdym razem, gdy zostanie zaktualizowana efektywna wartość dowolnej właściwości DependencyObject zależności. Określona właściwość zależności, która została zmieniona, jest zgłaszana w danych zdarzenia.

(Odziedziczone po DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Wywoływana, gdy komórka w kolumnie przechodzi w tryb edycji.

ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.

(Odziedziczone po DependencyObject)
RefreshCellContent(FrameworkElement, String)

Odświeża zawartość komórki w kolumnie w odpowiedzi na zmianę wartości właściwości kolumny.

SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmieniania jej źródła wartości.

(Odziedziczone po DependencyObject)
SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jej identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określonej przez DependencyPropertyKey identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość dla podanej właściwości zależności.

(Odziedziczone po DependencyObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Zdarzenia

CopyingCellClipboardContent

Występuje po przygotowaniu zawartości schowka komórki.

(Odziedziczone po DataGridColumn)
PastingCellClipboardContent

Występuje przed przeniesieniem zawartości schowka do komórki.

(Odziedziczone po DataGridColumn)

Dotyczy

Zobacz też