DataGridHyperlinkColumn Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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) |