Partager via


DataGridHyperlinkColumn Classe

Définition

Représente une colonne DataGrid qui héberge des éléments Uri dans ses cellules.

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
Héritage

Exemples

L’exemple suivant montre un DataGridHyperlinkColumn qui définit avec la BindingUri propriété et le texte du lien hypertexte avec la ContentBinding propriété. L’événement Hyperlink.Click est géré automatiquement, car NavigationWindow est le parent de .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

Remarques

Permet DataGridHyperlinkColumn d’afficher des données qui contiennent un Uri, comme une adresse HTTP ou une adresse e-mail. L’illustration suivante montre un exemple de DataGridHyperlinkColumn.

DataGridHyperlinkColumn avec des adresses e-mail

Notes

Hyperlink la navigation ne peut se produire que si le parent direct ou indirect d’un Hyperlink est un hôte de navigation. Parmi les exemples d’hôtes de navigation, citons NavigationWindow, Frameou tout navigateur qui peut héberger des XBAPs. Pour plus d’informations, consultez l’article « Hôtes de navigation » dans Vue d’ensemble de la navigation.

Pour plus d’informations sur la prise en charge de XBAP, consultez forum aux questions sur les applications WPF hébergées par le navigateur (XBAP).

Pour remplir la colonne, liez la colonne aux données à l’aide Uri de la Binding propriété . Pour afficher un texte de lien hypertexte différent de la chaîne d’URI, liez la valeur de texte à la ContentBinding propriété . La Binding propriété est appliquée à l’élément Hyperlink ou TextBox créé dans la colonne. Pour DataContext l’élément dans chaque cellule est l’élément de données de la ligne dans laquelle se trouve la cellule. Par conséquent, pour configurer la liaison, il vous suffit de définir le Binding.Path. Vous pouvez éventuellement spécifier un Binding.Converter si vous souhaitez convertir les données. Pour plus d’informations sur la liaison de données, consultez Liaison de données (WPF).

Notes

DataGridHyperlinkColumn crée un Hyperlink élément en mode non édition et un TextBox élément en mode édition.

Si vous souhaitez afficher d’autres types de données, DataGrid fournit les types de colonnes suivants :

Type de colonne Affichage des données
DataGridCheckBoxColumn Permet d’afficher des données booléennes.
DataGridComboBoxColumn Utilisez pour afficher les données d’énumération.
DataGridTextColumn Utilisez pour afficher du texte.

Si vous souhaitez utiliser d’autres contrôles dans votre DataGrid, vous pouvez créer vos propres types de colonnes à l’aide de DataGridTemplateColumn.

Constructeurs

DataGridHyperlinkColumn()

Initialise une nouvelle instance de la classe DataGridHyperlinkColumn.

Champs

TargetNameProperty

Identifie la propriété de dépendance TargetName.

Propriétés

ActualWidth

Obtient la largeur actuelle de la colonne, en unités indépendantes de l’appareil (1/96e pouce par unité).

(Hérité de DataGridColumn)
Binding

Obtient ou définit la liaison qui associe la colonne à une propriété dans la source de données.

(Hérité de DataGridBoundColumn)
CanUserReorder

Obtient ou définit une valeur qui indique si l'utilisateur peut modifier la position d'affichage des colonnes en faisant glisser leur en-tête.

(Hérité de DataGridColumn)
CanUserResize

Obtient ou définit une valeur qui indique si l'utilisateur peut ajuster la largeur de colonne à l'aide de la souris.

(Hérité de DataGridColumn)
CanUserSort

Obtient ou définit une valeur qui indique si l'utilisateur peut trier la colonne en cliquant sur son en-tête.

(Hérité de DataGridColumn)
CellStyle

Obtient ou définit le style qui est utilisé lors du rendu des cellules de la colonne.

(Hérité de DataGridColumn)
ClipboardContentBinding

Obtient ou définit l'objet de liaison à utiliser lors de l'obtention ou de la définition du contenu de cellule pour le Presse-papiers.

(Hérité de DataGridBoundColumn)
ContentBinding

Obtient ou définit la liaison au texte du lien hypertexte.

DataGridOwner

Obtient le contrôle DataGrid qui contient cette colonne.

(Hérité de DataGridColumn)
DefaultEditingElementStyle

Valeur par défaut de la propriété EditingElementStyle.

DefaultElementStyle

Valeur par défaut de la propriété ElementStyle.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
DisplayIndex

Obtient ou définit la position d'affichage de la colonne par rapport aux autres colonnes dans le DataGrid.

(Hérité de DataGridColumn)
DragIndicatorStyle

Obtient ou définit l'objet de style à appliquer à l'en-tête de colonne lors d'une opération glisser.

(Hérité de DataGridColumn)
EditingElementStyle

Obtient ou définit le style utilisé lors du rendu de l'élément que la colonne affiche pour une cellule en mode édition.

(Hérité de DataGridBoundColumn)
ElementStyle

Obtient ou définit le style utilisé lors du rendu de l'élément que la colonne affiche pour une cellule qui n'est pas en mode édition.

(Hérité de DataGridBoundColumn)
Header

Obtient ou définit le contenu de l'en-tête de la colonne.

(Hérité de DataGridColumn)
HeaderStringFormat

Obtient ou définit le modèle de format à appliquer au contenu de l'en-tête de colonne.

(Hérité de DataGridColumn)
HeaderStyle

Obtient ou définit le style utilisé lors du rendu de l'en-tête de colonne.

(Hérité de DataGridColumn)
HeaderTemplate

Obtient ou définit le modèle qui définit la représentation visuelle de l'en-tête de colonne.

(Hérité de DataGridColumn)
HeaderTemplateSelector

Obtient ou définit l'objet qui sélectionne le modèle utilisé pour l'en-tête de colonne.

(Hérité de DataGridColumn)
IsAutoGenerated

Obtient une valeur qui indique si la colonne est générée automatiquement.

(Hérité de DataGridColumn)
IsFrozen

Obtient une valeur qui indique si la colonne ne peut pas défiler horizontalement.

(Hérité de DataGridColumn)
IsReadOnly

Obtient ou définit une valeur qui indique si les cellules de la colonne peuvent être modifiées.

(Hérité de DataGridColumn)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(Hérité de DependencyObject)
MaxWidth

Obtient ou définit la contrainte de largeur maximale applicable à la colonne.

(Hérité de DataGridColumn)
MinWidth

Obtient ou définit la contrainte de largeur minimale applicable à la colonne.

(Hérité de DataGridColumn)
SortDirection

Obtient ou définit le sens de tri (ascendant ou descendant) de la colonne.

(Hérité de DataGridColumn)
SortMemberPath

Obtient ou définit un nom de propriété, ou une hiérarchie des noms de propriétés délimitée par des points, qui indique le membre utilisé pour le tri.

(Hérité de DataGridColumn)
TargetName

Obtient ou définit le nom d'une fenêtre ou d'un frame cible pour le lien hypertexte.

Visibility

Obtient ou définit la visibilité de la colonne.

(Hérité de DataGridColumn)
Width

Obtient ou définit la largeur de la colonne ou le mode de dimensionnement automatique.

(Hérité de DataGridColumn)

Méthodes

CancelCellEdit(FrameworkElement, Object)

Fait en sorte que la cellule de colonne en cours de modification soit rétablie à la valeur spécifiée.

CancelCellEdit(FrameworkElement, Object)

Permet de rétablir la cellule en cours de modification à sa valeur initiale non modifiée.

(Hérité de DataGridColumn)
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par DependencyPropertyKey.

(Hérité de DependencyObject)
CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

(Hérité de DependencyObject)
CommitCellEdit(FrameworkElement)

Exécute toute opération de validation requise avant de quitter le mode édition.

CommitCellEdit(FrameworkElement)

Exécute toute opération de validation requise avant de quitter le mode édition de la cellule.

(Hérité de DataGridColumn)
Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(Hérité de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtient un élément TextBox modifiable qui est lié à la valeur de propriété ContentBinding de la colonne.

GenerateElement(DataGridCell, Object)

Obtient un élément Hyperlink en lecture seule lié à la valeur de propriété ContentBinding de la colonne.

GetCellContent(DataGridRow)

Récupère la valeur de propriété Content pour la cellule située à l'intersection de cette colonne et de la ligne spécifiée.

(Hérité de DataGridColumn)
GetCellContent(Object)

Obtient la valeur de la propriété Content pour la cellule à l'intersection de cette colonne et de la ligne qui représente l'élément de données spécifié.

(Hérité de DataGridColumn)
GetHashCode()

Obtient un code de hachage pour ce DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
NotifyPropertyChanged(String)

Informe le DataGrid contenant cette colonne qu'une propriété de colonne a été modifiée.

(Hérité de DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

Avertit DataGrid lorsque la valeur de la propriété Binding change.

(Hérité de DataGridBoundColumn)
OnCoerceIsReadOnly(Boolean)

Détermine la valeur de la propriété IsReadOnly en fonction des règles de propriété de la grille de données qui contient cette colonne.

(Hérité de DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

Informe le DataGrid lorsque la propriété ContentBinding change.

OnCopyingCellClipboardContent(Object)

Déclenche l’événement CopyingCellClipboardContent.

(Hérité de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Déclenche l’événement PastingCellClipboardContent.

(Hérité de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Méthode appelée chaque fois que la valeur effective d’une propriété de dépendance sur ce DependencyObject a été mise à jour. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement.

(Hérité de DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Appelée lorsqu'une cellule de la colonne passe en mode édition.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.

(Hérité de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Actualise le contenu d'une cellule de la colonne en réponse à un changement de valeur de propriété de la colonne.

SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa valeur source.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)

Événements

CopyingCellClipboardContent

Se produit après la préparation du contenu du Presse-papiers de la cellule.

(Hérité de DataGridColumn)
PastingCellClipboardContent

Se produit avant le transfert du contenu du Presse-papiers dans la cellule.

(Hérité de DataGridColumn)

S’applique à

Voir aussi