DataGridHyperlinkColumn Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- Herança
Exemplos
O exemplo a seguir mostra um DataGridHyperlinkColumn que define o Uri com a Binding propriedade e o texto do hiperlink com a ContentBinding propriedade . O Hyperlink.Click evento é tratado automaticamente porque NavigationWindow é o pai do 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
Comentários
Use DataGridHyperlinkColumn para exibir dados que contêm um Uri, como um endereço HTTP ou endereço de email. A ilustração a seguir mostra um exemplo de um DataGridHyperlinkColumn.
Observação
Hyperlink A navegação só poderá ocorrer se o pai direto ou indireto de um Hyperlink for um host de navegação. Exemplos de hosts de navegação incluem NavigationWindow, Frameou qualquer navegador que possa hospedar XBAPs. Para obter mais informações, consulte o artigo "Hosts de Navegação" em Visão geral da navegação.
Para obter mais informações sobre o suporte a XBAP, consulte Perguntas frequentes sobre aplicativos hospedados pelo navegador WPF (XBAP).
Para preencher a coluna, associe a coluna aos Uri dados usando a Binding propriedade . Para exibir um texto de hiperlink diferente da cadeia de caracteres de URI, associe o valor do texto à ContentBinding propriedade . A Binding propriedade é aplicada ao Hyperlink elemento ou TextBox criado na coluna. O DataContext para o elemento em cada célula é o item de dados da linha em que a célula está. Portanto, para configurar a associação, você só precisa definir o Binding.Path. Opcionalmente, você pode especificar um Binding.Converter se quiser converter os dados. Para obter mais informações sobre a associação de dados, consulte Associação de dados (WPF).
Observação
DataGridHyperlinkColumn cria um Hyperlink elemento no modo de não edição e um TextBox elemento no modo de edição.
Se você quiser exibir outros tipos de dados, DataGrid fornecerá os seguintes tipos de coluna:
Tipo de coluna | Exibição de dados |
---|---|
DataGridCheckBoxColumn | Use para exibir dados boolianos. |
DataGridComboBoxColumn | Use para exibir dados de enumeração. |
DataGridTextColumn | Use para exibir texto. |
Se você quiser usar outros controles em seu DataGrid, poderá criar seus próprios tipos de coluna usando DataGridTemplateColumn.
Construtores
DataGridHyperlinkColumn() |
Inicializa uma nova instância da classe DataGridHyperlinkColumn. |
Campos
TargetNameProperty |
Identifica a propriedade de dependência TargetName. |
Propriedades
ActualWidth |
Obtém a largura atual da coluna, em unidades independentes do dispositivo (1/96 polegada por unidade). (Herdado de DataGridColumn) |
Binding |
Obtém ou define a associação que associa a coluna com a propriedade na fonte de dados. (Herdado de DataGridBoundColumn) |
CanUserReorder |
Obtém ou define um valor que indica se o usuário pode alterar a posição de exibição da coluna arrastando o seu cabeçalho. (Herdado de DataGridColumn) |
CanUserResize |
Obtém ou define um valor que indica se o usuário pode ajustar a largura da coluna usando o mouse. (Herdado de DataGridColumn) |
CanUserSort |
Obtém ou define um valor que indica se o usuário pode classificar a coluna clicando no seu cabeçalho. (Herdado de DataGridColumn) |
CellStyle |
Obtém ou define o estilo usado para renderizar as células da coluna. (Herdado de DataGridColumn) |
ClipboardContentBinding |
Obtém ou define o objeto de associação a ser usado ao obter ou definir o conteúdo da célula para a área de transferência. (Herdado de DataGridBoundColumn) |
ContentBinding |
Obtém ou define a associação para o texto do hiperlink. |
DataGridOwner |
Obtém o controle DataGrid que contém esta coluna. (Herdado de DataGridColumn) |
DefaultEditingElementStyle |
O valor padrão da propriedade EditingElementStyle. |
DefaultElementStyle |
O valor padrão da propriedade ElementStyle. |
DependencyObjectType |
Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância. (Herdado de DependencyObject) |
Dispatcher |
Obtém o Dispatcher ao qual este DispatcherObject está associado. (Herdado de DispatcherObject) |
DisplayIndex |
Obtém ou define a posição de exibição da coluna em relação às outras colunas do DataGrid. (Herdado de DataGridColumn) |
DragIndicatorStyle |
Obtém ou define o objeto de estilo para aplicar ao cabeçalho de coluna durante uma operação de arrastar. (Herdado de DataGridColumn) |
EditingElementStyle |
Obtém ou define o estilo usado ao renderizar o elemento que a coluna exibe para uma célula no modo de edição. (Herdado de DataGridBoundColumn) |
ElementStyle |
Obtém ou define o estilo usado ao renderizar o elemento que a coluna exibe para uma célula que não está no modo de edição. (Herdado de DataGridBoundColumn) |
Header |
Obtém ou define o conteúdo do cabeçalho da coluna. (Herdado de DataGridColumn) |
HeaderStringFormat |
Obtém ou define o padrão de formato a ser aplicado ao conteúdo do cabeçalho de coluna. (Herdado de DataGridColumn) |
HeaderStyle |
Obtém ou define o estilo usado ao renderizar o cabeçalho de coluna. (Herdado de DataGridColumn) |
HeaderTemplate |
Obtém ou define o modelo que define a representação visual do cabeçalho de coluna. (Herdado de DataGridColumn) |
HeaderTemplateSelector |
Obtém ou define o objeto que seleciona qual modelo usar para o cabeçalho de coluna. (Herdado de DataGridColumn) |
IsAutoGenerated |
Obtém um valor que indica se a coluna é somente autogerenciada. (Herdado de DataGridColumn) |
IsFrozen |
Obtém um valor que indica se a coluna está impedida de rolar horizontalmente. (Herdado de DataGridColumn) |
IsReadOnly |
Obtém ou define um valor que indica se as células na coluna podem ser editadas. (Herdado de DataGridColumn) |
IsSealed |
Obtém um valor que indica se essa instância está validada no momento (somente leitura). (Herdado de DependencyObject) |
MaxWidth |
Obtém ou define a restrição de largura máxima da coluna. (Herdado de DataGridColumn) |
MinWidth |
Obtém ou define a restrição de largura mínima da coluna. (Herdado de DataGridColumn) |
SortDirection |
Obtém ou define a direção da classificação (crescente ou decrescente) da coluna. (Herdado de DataGridColumn) |
SortMemberPath |
Obtém ou define um nome de propriedade, ou uma hierarquia de nomes de propriedade baseada na delimitação por ponto, que indica o membro pelo qual classificar. (Herdado de DataGridColumn) |
TargetName |
Obtém ou define o nome de um quadro ou janela de destino do hiperlink. |
Visibility |
Obtém ou define a visibilidade da coluna. (Herdado de DataGridColumn) |
Width |
Obtém ou define a largura da coluna ou o modo de dimensionamento automático. (Herdado de DataGridColumn) |
Métodos
CancelCellEdit(FrameworkElement, Object) |
Faz com que a célula da coluna que está sendo editada reverta para o valor especificado. |
CancelCellEdit(FrameworkElement, Object) |
Faz com que a célula que está sendo editada reverta para o valor original não editado. (Herdado de DataGridColumn) |
CheckAccess() |
Determina se o thread de chamada tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um identificador DependencyProperty. (Herdado de DependencyObject) |
ClearValue(DependencyPropertyKey) |
Limpa o valor local de uma propriedade somente leitura. A propriedade a ser limpa é especificada por um DependencyPropertyKey. (Herdado de DependencyObject) |
CoerceValue(DependencyProperty) |
Converte o valor da propriedade de dependência especificada. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject. (Herdado de DependencyObject) |
CommitCellEdit(FrameworkElement) |
Realiza a validação necessária antes de sair do modo de edição. |
CommitCellEdit(FrameworkElement) |
Realiza a validação necessária antes de sair do modo de edição da célula. (Herdado de DataGridColumn) |
Equals(Object) |
Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual. (Herdado de DependencyObject) |
GenerateEditingElement(DataGridCell, Object) |
Obtém um elemento TextBox editável que está vinculado ao valor da propriedade ContentBinding da coluna. |
GenerateElement(DataGridCell, Object) |
Obtém um elemento Hyperlink somente leitura associado ao valor da propriedade ContentBinding da coluna. |
GetCellContent(DataGridRow) |
Recupera o valor da propriedade Content da célula na interseção dessa coluna e da linha especificada. (Herdado de DataGridColumn) |
GetCellContent(Object) |
Obtém o valor da propriedade Content da célula na interseção dessa coluna e da linha que representa o item de dados especificado. (Herdado de DataGridColumn) |
GetHashCode() |
Obtém o código hash para esse DependencyObject. (Herdado de DependencyObject) |
GetLocalValueEnumerator() |
Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject. (Herdado de DependencyObject) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetValue(DependencyProperty) |
Retorna o valor efetivo atual de uma propriedade de dependência nessa instância de um DependencyObject. (Herdado de DependencyObject) |
InvalidateProperty(DependencyProperty) |
Reavalia o valor efetivo para a propriedade de dependência especificada. (Herdado de DependencyObject) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
NotifyPropertyChanged(String) |
Notifica o DataGrid que contém essa coluna de que uma propriedade da coluna foi alterada. (Herdado de DataGridColumn) |
OnBindingChanged(BindingBase, BindingBase) |
Notifica o DataGrid quando o valor da propriedade Binding é alterado. (Herdado de DataGridBoundColumn) |
OnCoerceIsReadOnly(Boolean) |
Determina o valor da propriedade IsReadOnly com base nas regras de propriedade da grade de dados que contém essa coluna. (Herdado de DataGridBoundColumn) |
OnContentBindingChanged(BindingBase, BindingBase) |
Notifica o DataGrid quando a propriedade ContentBinding mudar. |
OnCopyingCellClipboardContent(Object) |
Aciona o evento CopyingCellClipboardContent. (Herdado de DataGridColumn) |
OnPastingCellClipboardContent(Object, Object) |
Aciona o evento PastingCellClipboardContent. (Herdado de DataGridColumn) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Invocado sempre que o valor efetivo de qualquer propriedade de dependência nesse DependencyObject for atualizado. A propriedade de dependência específica que mudou é relatada os dados do evento. (Herdado de DependencyObject) |
PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Chamado quando uma célula na coluna entra em modo de edição. |
ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, local, se houver. (Herdado de DependencyObject) |
RefreshCellContent(FrameworkElement, String) |
Atualiza o conteúdo de uma célula na coluna em resposta a uma alteração de valor da propriedade de coluna. |
SetCurrentValue(DependencyProperty, Object) |
Define o valor da propriedade de dependência sem alterar a origem do valor. (Herdado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência. (Herdado de DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Define o valor de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência. (Herdado de DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida. (Herdado de DependencyObject) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
VerifyAccess() |
Impõe que o thread de chamada tenha acesso a este DispatcherObject. (Herdado de DispatcherObject) |
Eventos
CopyingCellClipboardContent |
Ocorre depois que o conteúdo da Área de Transferência é preparado. (Herdado de DataGridColumn) |
PastingCellClipboardContent |
Ocorre antes de o conteúdo da área de transferência ser movido para a célula. (Herdado de DataGridColumn) |