Compartilhar via


DataGridHyperlinkColumn Classe

Definição

Representa uma DataGrid coluna que hospeda Uri elementos em suas células.

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 texto com a Binding propriedade e o 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 Uriendereço HTTP ou endereço de email. A ilustração a seguir mostra um exemplo de um DataGridHyperlinkColumn.

DataGridHyperlinkColumn com endereços de email

Observação

Hyperlink A navegação só poderá ocorrer se o pai direto ou indireto de um Hyperlink é 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" na Visão Geral de Navegação.

Para obter mais informações sobre o suporte ao XBAP, consulte perguntas frequentes sobre XBAP (aplicativos hospedados por navegador) do WPF.

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 de texto à ContentBinding propriedade. A Binding propriedade é aplicada ao Hyperlink elemento ou TextBox criado na coluna. O DataContext elemento para 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 caso deseje 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, você pode criar seus próprios tipos de coluna usando DataGridTemplateColumn.

Construtores

Nome Description
DataGridHyperlinkColumn()

Inicializa uma nova instância da classe DataGridHyperlinkColumn.

Campos

Nome Description
TargetNameProperty

Identifica a TargetName propriedade de dependência.

Propriedades

Nome Description
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 a uma 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 cabeçalho da coluna.

(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 cabeçalho da coluna.

(Herdado de DataGridColumn)
CellStyle

Obtém ou define o estilo usado para renderizar células na 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 ao texto do hiperlink.

DataGridOwner

Obtém o DataGrid controle que contém esta coluna.

(Herdado de DataGridColumn)
DefaultEditingElementStyle

O valor padrão da EditingElementStyle propriedade.

DefaultElementStyle

O valor padrão da ElementStyle propriedade.

DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância.

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
DisplayIndex

Obtém ou define a posição de exibição da coluna relativa às outras colunas no DataGrid.

(Herdado de DataGridColumn)
DragIndicatorStyle

Obtém ou define o objeto de estilo a ser aplicado ao cabeçalho da 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 da coluna.

(Herdado de DataGridColumn)
HeaderStyle

Obtém ou define o estilo usado ao renderizar o cabeçalho da coluna.

(Herdado de DataGridColumn)
HeaderTemplate

Obtém ou define o modelo que define a representação visual do cabeçalho da 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 é gerada automaticamente.

(Herdado de DataGridColumn)
IsFrozen

Obtém um valor que indica se a coluna é 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á lacrada 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 de classificação (crescente ou decrescente) da coluna.

(Herdado de DataGridColumn)
SortMemberPath

Obtém ou define um nome de propriedade, ou uma hierarquia delimitada por período de nomes de propriedade, que indica o membro pelo qual classificar.

(Herdado de DataGridColumn)
TargetName

Obtém ou define o nome de uma janela ou quadro de destino para o 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

Nome Description
CancelCellEdit(FrameworkElement, Object)

Faz com que a célula de 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 isso DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser desmarcada é especificada por um DependencyProperty identificador.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura. A propriedade a ser desmarcada é especificada por um DependencyPropertyKey.

(Herdado de DependencyObject)
CoerceValue(DependencyProperty)

Coagi o valor da propriedade de dependência especificada. Isso é feito invocando qualquer CoerceValueCallback função especificada nos metadados de propriedade para a propriedade de dependência como ela existe na chamada DependencyObject.

(Herdado de DependencyObject)
CommitCellEdit(FrameworkElement)

Executa qualquer validação necessária antes de sair do modo de edição.

CommitCellEdit(FrameworkElement)

Executa qualquer validação necessária antes de sair do modo de edição de célula.

(Herdado de DataGridColumn)
Equals(Object)

Determina se um fornecido DependencyObject é equivalente ao atual DependencyObject.

(Herdado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtém um elemento editável TextBox associado ao valor da propriedade da ContentBinding coluna.

GenerateElement(DataGridCell, Object)

Obtém um elemento somente Hyperlink leitura associado ao valor da propriedade da ContentBinding coluna.

GetCellContent(DataGridRow)

Recupera o valor da Content propriedade da célula na interseção desta coluna e da linha especificada.

(Herdado de DataGridColumn)
GetCellContent(Object)

Obtém o Content valor da propriedade da célula na interseção desta coluna e da linha que representa o item de dados especificado.

(Herdado de DataGridColumn)
GetHashCode()

Obtém um código hash para isso DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente.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 nesta instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo da propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
NotifyPropertyChanged(String)

Notifica o DataGrid que contém esta coluna de que uma propriedade de coluna foi alterada.

(Herdado de DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

Notifica quando o DataGrid valor da Binding propriedade é alterado.

(Herdado de DataGridBoundColumn)
OnCoerceIsReadOnly(Boolean)

Determina o valor da IsReadOnly propriedade com base nas regras de propriedade da grade de dados que contém essa coluna.

(Herdado de DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

Notifica quando DataGrid a ContentBinding propriedade é alterada.

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 tiver DependencyObject sido atualizado. A propriedade de dependência específica que foi alterada é relatada nos dados do evento.

(Herdado de DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Chamado quando uma célula na coluna entra no modo de edição.

ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se ela existir.

(Herdado de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Atualiza o conteúdo de uma célula na coluna em resposta a uma alteração de valor de propriedade de coluna.

SetCurrentValue(DependencyProperty, Object)

Define o valor de uma propriedade de dependência sem alterar sua fonte de valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente leitura, especificada pelo DependencyPropertyKey identificador 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 isso DispatcherObject.

(Herdado de DispatcherObject)

Eventos

Nome Description
CopyingCellClipboardContent

Ocorre depois que o conteúdo da área de transferência da célula é preparado.

(Herdado de DataGridColumn)
PastingCellClipboardContent

Ocorre antes que o conteúdo da área de transferência seja movido para a célula.

(Herdado de DataGridColumn)

Aplica-se a

Confira também