DataGridHyperlinkColumn Clase

Definición

Representa una columna de DataGrid que hospeda elementos Uri en sus celdas.Represents a DataGrid column that hosts Uri elements in its cells.

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 que establece Uri con la Binding propiedad y el texto del hipervínculo con la ContentBinding propiedad.The following example shows a DataGridHyperlinkColumn that sets the Uri with the Binding property and the hyperlink text with the ContentBinding property. El Hyperlink.Click evento se controla automáticamente porque NavigationWindow es el elemento primario de DataGrid .The Hyperlink.Click event is handled automatically because NavigationWindow is the parent of the 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 datos que contengan un Uri , como una dirección http o una dirección de correo electrónico.Use DataGridHyperlinkColumn to display data that contains a Uri, such as an HTTP address or email address. En la ilustración siguiente se muestra un ejemplo de un DataGridHyperlinkColumn .The following illustration shows an example of a DataGridHyperlinkColumn.

DataGridHyperlinkColumn con direcciones de correo electrónicoDataGridHyperlinkColumn with email addresses

Nota

Hyperlink la navegación solo puede producirse si el elemento primario directo o indirecto de un Hyperlink es un host de navegación.Hyperlink navigation can only occur if either the direct or indirect parent of a Hyperlink is a navigation host. Algunos ejemplos de hosts de navegación son NavigationWindow , Frame o cualquier explorador que pueda hospedar XBAPsXBAPs , como Microsoft Internet Explorer 6Microsoft Internet Explorer 6 o posterior y Firefox 2,0 o posterior.Examples of navigation hosts include NavigationWindow, Frame, or any browser that can host XBAPsXBAPs, such as Microsoft Internet Explorer 6Microsoft Internet Explorer 6 or later and Firefox 2.0 or later. Para obtener más información, vea el tema "hosts de navegación" en información general sobre navegación.For more information, see the "Navigation Hosts" topic in Navigation Overview.

Para rellenar la columna, enlace la columna a los Uri datos mediante la Binding propiedad.To populate the column, bind the column to the Uri data by using the Binding property. Para mostrar el texto de hipervínculo que es diferente de la cadena de URI, enlace el valor de texto a la ContentBinding propiedad.To display hyperlink text that is different than the URI string, bind the text value to the ContentBinding property. La Binding propiedad se aplica al Hyperlink elemento o TextBox creado en la columna.The Binding property is applied to the Hyperlink or TextBox element created in the column. DataContextPara el elemento de cada celda, es el elemento de datos de la fila en la que se encuentra la celda.The DataContext for the element in each cell is the data item for the row the cell is in. Por lo tanto, para configurar el enlace solo tiene que establecer Binding.Path .Therefore, to set up the binding you only have to set the Binding.Path. Opcionalmente, puede especificar un Binding.Converter si desea convertir los datos.Optionally, you can specify a Binding.Converter if you want to convert the data. Para obtener más información sobre el enlace de datos, consulte enlace de datos (WPF).For more information about data binding, see Data Binding (WPF).

Nota

DataGridHyperlinkColumn crea un Hyperlink elemento en el modo de no edición y un TextBox elemento en el modo de edición.DataGridHyperlinkColumn creates a Hyperlink element in the non-editing mode and a TextBox element in the editing mode.

Si desea mostrar otros tipos de datos, DataGrid proporciona los siguientes tipos de columna:If you want to display other types of data, DataGrid provides the following column types:

Tipo de columnaColumn Type Presentación de datosData Display
DataGridCheckBoxColumn Use para Mostrar datos booleanos.Use to display Boolean data.
DataGridComboBoxColumn Use para mostrar los datos de la enumeración.Use to display enumeration data.
DataGridTextColumn Se usa para mostrar texto.Use to display text.

Si desea utilizar otros controles en DataGrid , puede crear sus propios tipos de columna mediante DataGridTemplateColumn .If you want to use other controls in your DataGrid, you can create your own column types by using DataGridTemplateColumn.

Constructores

DataGridHyperlinkColumn()

Inicializa una nueva instancia de la clase DataGridHyperlinkColumn.Initializes a new instance of the DataGridHyperlinkColumn class.

Campos

TargetNameProperty

Identifica la propiedad de dependencia TargetName.Identifies the TargetName dependency property.

Propiedades

ActualWidth

Obtiene el ancho actual de la columna en unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).Gets the current width of the column, in unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).

(Heredado de DataGridColumn)
Binding

Obtiene o establece el enlace que asocia la columna con una propiedad del origen de datos.Gets or sets the binding that associates the column with a property in the data source.

(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.Gets or sets a value that indicates whether the user can change the column display position by dragging the column header.

(Heredado de DataGridColumn)
CanUserResize

Obtiene o establece un valor que indica si el usuario puede ajustar el ancho de columna mediante el mouse.Gets or sets a value that indicates whether the user can adjust the column width by using the 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.Gets or sets a value that indicates whether the user can sort the column by clicking the column header.

(Heredado de DataGridColumn)
CellStyle

Obtiene o establece el estilo que se utiliza para representar celdas en la columna.Gets or sets the style that is used to render cells in the column.

(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.Gets or sets the binding object to use when getting or setting cell content for the clipboard.

(Heredado de DataGridBoundColumn)
ContentBinding

Obtiene o establece el enlace al texto del hipervínculo.Gets or sets the binding to the text of the hyperlink.

DataGridOwner

Obtiene el control DataGrid que contiene esta columna.Gets the DataGrid control that contains this column.

(Heredado de DataGridColumn)
DefaultEditingElementStyle

Valor predeterminado de la propiedad EditingElementStyle.The default value of the EditingElementStyle property.

DefaultElementStyle

Valor predeterminado de la propiedad ElementStyle.The default value of the ElementStyle property.

DependencyObjectType

Obtiene el objeto DependencyObjectType que ajusta el tipo CLRCLR de esta instancia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(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.Gets or sets the display position of the column relative to the other columns in the 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.Gets or sets the style object to apply to the column header during a drag operation.

(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.Gets or sets the style that is used when rendering the element that the column displays for a cell in editing mode.

(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.Gets or sets the style that is used when rendering the element that the column displays for a cell that is not in editing mode.

(Heredado de DataGridBoundColumn)
Header

Obtiene o establece el contenido del encabezado de columna.Gets or sets the content of the column header.

(Heredado de DataGridColumn)
HeaderStringFormat

Obtiene o establece el modelo de formato que se aplica al contenido del encabezado de columna.Gets or sets the format pattern to apply to the content of the column header.

(Heredado de DataGridColumn)
HeaderStyle

Obtiene o establece el estilo que se usa al representar el encabezado de columna.Gets or sets the style that is used when rendering the column header.

(Heredado de DataGridColumn)
HeaderTemplate

Obtiene o establece la plantilla que define la representación visual del encabezado de columna.Gets or sets the template that defines the visual representation of the column header.

(Heredado de DataGridColumn)
HeaderTemplateSelector

Obtiene o establece el objeto que selecciona la plantilla que se va a usar para el encabezado de columna.Gets or sets the object that selects which template to use for the column header.

(Heredado de DataGridColumn)
IsAutoGenerated

Obtiene un valor que indica si la columna se genera automáticamente.Gets a value that indicates whether the column is auto-generated.

(Heredado de DataGridColumn)
IsFrozen

Obtiene un valor que indica si la columna no se puede desplazar horizontalmente.Gets a value that indicates whether the column is prevented from scrolling horizontally.

(Heredado de DataGridColumn)
IsReadOnly

Obtiene o establece un valor que indica si se pueden editar las celdas de la columna.Gets or sets a value that indicates whether cells in the column can be edited.

(Heredado de DataGridColumn)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Heredado de DependencyObject)
MaxWidth

Obtiene o establece la restricción de ancho máximo de la columna.Gets or sets the maximum width constraint of the column.

(Heredado de DataGridColumn)
MinWidth

Obtiene o establece la restricción de ancho mínimo de la columna.Gets or sets the minimum width constraint of the column.

(Heredado de DataGridColumn)
SortDirection

Obtiene o establece la dirección de ordenación (ascendente o descendente) de la columna.Gets or sets the sort direction (ascending or descending) of the column.

(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.Gets or sets a property name, or a period-delimited hierarchy of property names, that indicates the member to sort by.

(Heredado de DataGridColumn)
TargetName

Obtiene o establece el nombre de una ventana o un marco de destino para el hipervínculo.Gets or sets the name of a target window or frame for the hyperlink.

Visibility

Obtiene o establece la visibilidad de la columna.Gets or sets the visibility of the column.

(Heredado de DataGridColumn)
Width

Obtiene o establece el ancho de columna o el modo de cambio de tamaño automático.Gets or sets the column width or automatic sizing mode.

(Heredado de DataGridColumn)

Métodos

CancelCellEdit(FrameworkElement, Object)

Hace que la celda de columna que se está editando se revierta al valor especificado.Causes the column cell being edited to revert to the specified value.

CancelCellEdit(FrameworkElement, Object)

Hace que la celda de columna que se está editando se revierta al valor original, sin editar.Causes the cell being edited to revert to the original, unedited value.

(Heredado de DataGridColumn)
CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad.Clears the local value of a property. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura.Clears the local value of a read-only property. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Heredado de DependencyObject)
CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada.Coerces the value of the specified dependency property. 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.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Heredado de DependencyObject)
CommitCellEdit(FrameworkElement)

Realiza todas las operaciones de validación necesarias antes de salir del modo de edición.Performs any required validation before exiting edit mode.

CommitCellEdit(FrameworkElement)

Realiza todas las operaciones de validación necesarias antes de salir del modo de edición de celda.Performs any required validation before exiting cell editing mode.

(Heredado de DataGridColumn)
Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Heredado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtiene un elemento TextBox editable que está enlazado al valor de la propiedad ContentBinding de la columna.Gets an editable TextBox element that is bound to the column's ContentBinding property value.

GenerateElement(DataGridCell, Object)

Obtiene un elemento Hyperlink de solo lectura que se enlaza al valor de la propiedad ContentBinding de la columna.Gets a read-only Hyperlink element that is bound to the column's ContentBinding property value.

GetCellContent(DataGridRow)

Recupera el valor de la propiedad Content para la celda situada en la intersección de esta columna y la fila especificada.Retrieves the Content property value for the cell at the intersection of this column and the specified row.

(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.Gets the Content property value for the cell at the intersection of this column and the row that represents the specified data item.

(Heredado de DataGridColumn)
GetHashCode()

Obtiene un código hash de este objeto DependencyObject.Gets a hash code for this DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.Re-evaluates the effective value for the specified dependency property.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
NotifyPropertyChanged(String)

Notifica al DataGrid que contiene esta columna que una propiedad de columna ha cambiado.Notifies the DataGrid that contains this column that a column property has changed.

(Heredado de DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

Se produce cuando cambia el valor de la propiedad DataGrid de la clase Binding.Notifies the DataGrid when the value of the Binding property changes.

(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.Determines the value of the IsReadOnly property based on property rules from the data grid that contains this column.

(Heredado de DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

Notifica a DataGrid cuando cambia la propiedad ContentBinding.Notifies the DataGrid when the ContentBinding property changes.

OnCopyingCellClipboardContent(Object)

Genera el evento CopyingCellClipboardContent.Raises the CopyingCellClipboardContent event.

(Heredado de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Genera el evento PastingCellClipboardContent.Raises the PastingCellClipboardContent event.

(Heredado de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. La propiedad de dependencia específica que cambió se notifica en los datos de evento.The specific dependency property that changed is reported in the event data.

(Heredado de DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Se llama a este método cuando una celda de la columna entra en modo de edición.Called when a cell in the column enters editing mode.

ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.Returns the local value of a dependency property, if it exists.

(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.Refreshes the contents of a cell in the column in response to a column property value change.

SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.Sets the value of a dependency property without changing its value source.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.Sets the local value of a dependency property, specified by its dependency property identifier.

(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.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(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.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)

Eventos

CopyingCellClipboardContent

Se produce después de prepararse el contenido del Portapapeles de la celda.Occurs after the cell clipboard content is prepared.

(Heredado de DataGridColumn)
PastingCellClipboardContent

Se produce antes de que el contenido del Portapapeles se transfiera a la celda.Occurs before the clipboard content is moved to the cell.

(Heredado de DataGridColumn)

Se aplica a

Consulte también