Compartir a través de


DataGridHyperlinkColumn Clase

Definición

Representa una columna de DataGrid que hospeda elementos Uri en sus celdas.

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
Herencia

Ejemplos

En el ejemplo siguiente se muestra un DataGridHyperlinkColumn objeto que establece con Uri la Binding propiedad y el texto del hipervínculo con la ContentBinding propiedad . El Hyperlink.Click evento se controla automáticamente porque NavigationWindow es el elemento primario 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

Comentarios

Use DataGridHyperlinkColumn para mostrar los datos que contienen , Uricomo una dirección HTTP o una dirección de correo electrónico. En la ilustración siguiente, se muestra un ejemplo de DataGridHyperlinkColumn.

DataGridHyperlinkColumn con direcciones de correo electrónico

Nota

Hyperlink la navegación solo puede producirse si el elemento primario directo o indirecto de un Hyperlink es un host de navegación. Algunos ejemplos de hosts de navegación son NavigationWindow, Frameo cualquier explorador que pueda hospedar XBAPs. Para obtener más información, consulte el artículo "Hosts de navegación" en Información general de navegación.

Para obtener más información sobre la compatibilidad con XBAP, consulte Preguntas más frecuentes sobre las aplicaciones hospedadas en explorador (XBAP) de WPF.

Para rellenar la columna, enlace la columna a los Uri datos mediante la Binding propiedad . Para mostrar texto de hipervínculo distinto de la cadena de URI, enlace el valor de texto a la ContentBinding propiedad . La Binding propiedad se aplica al Hyperlink elemento o TextBox creado en la columna. Para DataContext el elemento de cada celda es el elemento de datos de la fila en la que se encuentra la celda. Por lo tanto, para configurar el enlace, solo tiene que establecer .Binding.Path Opcionalmente, puede especificar si Binding.Converter desea convertir los datos. Para obtener más información sobre el enlace de datos, vea Enlace de datos (WPF).

Nota

DataGridHyperlinkColumn crea un Hyperlink elemento en el modo de no edición y un TextBox elemento en el modo de edición.

Si desea mostrar otros tipos de datos, DataGrid proporciona los siguientes tipos de columna:

Tipo de columna Presentación de datos
DataGridCheckBoxColumn Use para mostrar datos booleanos.
DataGridComboBoxColumn Use para mostrar los datos de enumeración.
DataGridTextColumn Use para mostrar texto.

Si desea usar otros controles en DataGrid, puede crear sus propios tipos de columna mediante DataGridTemplateColumn.

Constructores

DataGridHyperlinkColumn()

Inicializa una nueva instancia de la clase DataGridHyperlinkColumn.

Campos

TargetNameProperty

Identifica la propiedad de dependencia TargetName.

Propiedades

ActualWidth

Obtiene el ancho actual de la columna, en unidades independientes del dispositivo (1/96 pulgadas por unidad).

(Heredado de DataGridColumn)
Binding

Obtiene o establece el enlace que asocia la columna con una propiedad del origen de datos.

(Heredado de DataGridBoundColumn)
CanUserReorder

Obtiene o establece un valor que indica si el usuario puede cambiar la posición de visualización de una columna arrastrando el encabezado de columna.

(Heredado de DataGridColumn)
CanUserResize

Obtiene o establece un valor que indica si el usuario puede ajustar el ancho de columna mediante el mouse.

(Heredado de DataGridColumn)
CanUserSort

Obtiene o establece un valor que indica si el usuario puede ordenar la columna haciendo clic en el encabezado de columna.

(Heredado de DataGridColumn)
CellStyle

Obtiene o establece el estilo que se utiliza para representar celdas en la columna.

(Heredado de DataGridColumn)
ClipboardContentBinding

Obtiene o establece el objeto de enlace que se va a usar al obtener o establecer el contenido de celda del Portapapeles.

(Heredado de DataGridBoundColumn)
ContentBinding

Obtiene o establece el enlace al texto del hipervínculo.

DataGridOwner

Obtiene el control DataGrid que contiene esta columna.

(Heredado de DataGridColumn)
DefaultEditingElementStyle

Valor predeterminado de la propiedad EditingElementStyle.

DefaultElementStyle

Valor predeterminado de la propiedad ElementStyle.

DependencyObjectType

Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(Heredado de DispatcherObject)
DisplayIndex

Obtiene o establece la posición de presentación de la columna con respecto a las demás columnas de DataGrid.

(Heredado de DataGridColumn)
DragIndicatorStyle

Obtiene o establece el objeto de estilo que se va a aplicar al encabezado de columna durante una operación de arrastre.

(Heredado de DataGridColumn)
EditingElementStyle

Obtiene o establece el estilo que se utiliza al representar el elemento que la columna muestra para una celda en el modo de edición.

(Heredado de DataGridBoundColumn)
ElementStyle

Obtiene o establece el estilo que se utiliza al representar el elemento que la columna muestra para una celda que no está en el modo de edición.

(Heredado de DataGridBoundColumn)
Header

Obtiene o establece el contenido del encabezado de columna.

(Heredado de DataGridColumn)
HeaderStringFormat

Obtiene o establece el modelo de formato que se aplica al contenido del encabezado de columna.

(Heredado de DataGridColumn)
HeaderStyle

Obtiene o establece el estilo que se usa al representar el encabezado de columna.

(Heredado de DataGridColumn)
HeaderTemplate

Obtiene o establece la plantilla que define la representación visual del encabezado de columna.

(Heredado de DataGridColumn)
HeaderTemplateSelector

Obtiene o establece el objeto que selecciona la plantilla que se va a usar para el encabezado de columna.

(Heredado de DataGridColumn)
IsAutoGenerated

Obtiene un valor que indica si la columna se genera automáticamente.

(Heredado de DataGridColumn)
IsFrozen

Obtiene un valor que indica si la columna no se puede desplazar horizontalmente.

(Heredado de DataGridColumn)
IsReadOnly

Obtiene o establece un valor que indica si se pueden editar las celdas de la columna.

(Heredado de DataGridColumn)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).

(Heredado de DependencyObject)
MaxWidth

Obtiene o establece la restricción de ancho máximo de la columna.

(Heredado de DataGridColumn)
MinWidth

Obtiene o establece la restricción de ancho mínimo de la columna.

(Heredado de DataGridColumn)
SortDirection

Obtiene o establece la dirección de ordenación (ascendente o descendente) de la columna.

(Heredado de DataGridColumn)
SortMemberPath

Obtiene o establece un nombre de propiedad (o una jerarquía de nombres de propiedad delimitada por puntos) que indica el miembro por el que se debe ordenar.

(Heredado de DataGridColumn)
TargetName

Obtiene o establece el nombre de una ventana o un marco de destino para el hipervínculo.

Visibility

Obtiene o establece la visibilidad de la columna.

(Heredado de DataGridColumn)
Width

Obtiene o establece el ancho de columna o el modo de cambio de tamaño automático.

(Heredado de DataGridColumn)

Métodos

CancelCellEdit(FrameworkElement, Object)

Hace que la celda de columna que se está editando se revierta al valor especificado.

CancelCellEdit(FrameworkElement, Object)

Hace que la celda de columna que se está editando se revierta al valor original, sin editar.

(Heredado de DataGridColumn)
CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.

(Heredado de DependencyObject)
CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.

(Heredado de DependencyObject)
CommitCellEdit(FrameworkElement)

Realiza todas las operaciones de validación necesarias antes de salir del modo de edición.

CommitCellEdit(FrameworkElement)

Realiza todas las operaciones de validación necesarias antes de salir del modo de edición de celda.

(Heredado de DataGridColumn)
Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.

(Heredado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtiene un elemento TextBox editable que está enlazado al valor de la propiedad ContentBinding de la columna.

GenerateElement(DataGridCell, Object)

Obtiene un elemento Hyperlink de solo lectura que se enlaza al valor de la propiedad ContentBinding de la columna.

GetCellContent(DataGridRow)

Recupera el valor de la propiedad Content para la celda situada en la intersección de esta columna y la fila especificada.

(Heredado de DataGridColumn)
GetCellContent(Object)

Obtiene el valor de la propiedad Content para la celda situada en la intersección de esta columna y la fila que representa el elemento de datos especificado.

(Heredado de DataGridColumn)
GetHashCode()

Obtiene un código hash de este objeto DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
NotifyPropertyChanged(String)

Notifica al DataGrid que contiene esta columna que una propiedad de columna ha cambiado.

(Heredado de DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

Se produce cuando cambia el valor de la propiedad DataGrid de la clase Binding.

(Heredado de DataGridBoundColumn)
OnCoerceIsReadOnly(Boolean)

Determina el valor de la propiedad IsReadOnly basándose en las reglas de propiedad de la cuadrícula de datos que contiene esta columna.

(Heredado de DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

Notifica a DataGrid cuando cambia la propiedad ContentBinding.

OnCopyingCellClipboardContent(Object)

Genera el evento CopyingCellClipboardContent.

(Heredado de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Genera el evento PastingCellClipboardContent.

(Heredado de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject. La propiedad de dependencia específica que cambió se notifica en los datos de evento.

(Heredado de DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Se llama a este método cuando una celda de la columna entra en modo de edición.

ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.

(Heredado de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Actualiza el contenido de una celda de la columna como respuesta a un cambio en un valor de propiedad de la columna.

SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)

Eventos

CopyingCellClipboardContent

Se produce después de prepararse el contenido del Portapapeles de la celda.

(Heredado de DataGridColumn)
PastingCellClipboardContent

Se produce antes de que el contenido del Portapapeles se transfiera a la celda.

(Heredado de DataGridColumn)

Se aplica a

Consulte también