DataGridHyperlinkColumn Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 seguinte mostra um DataGridHyperlinkColumn que define o Uri com a Binding propriedade e o texto de hiperligação 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
Observações
Use DataGridHyperlinkColumn para mostrar dados que contenham um Uri, como um endereço HTTP ou endereço de email. A seguinte ilustração mostra um exemplo de um DataGridHyperlinkColumn.
Note
Hyperlink A navegação só pode ocorrer se o pai direto ou indireto de A Hyperlink for um anfitrião de navegação. Exemplos de hosts de navegação incluem NavigationWindow, Frame, ou qualquer navegador que possa alojar XBAPs. Para mais informações, consulte o artigo "Anfitriões de Navegação" na Visão Geral da Navegação.
Para mais informações sobre o suporte ao XBAP, consulte Perguntas frequentes sobre WPF aplicações alojadas no navegador (XBAP).
Para preencher a coluna, vincule a coluna aos Uri dados usando a Binding propriedade . Para mostrar texto de hiperligação diferente da cadeia de URIs, 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 elemento de dados para a linha em que a célula está. Portanto, para configurar a ligação, basta definir o Binding.Path. Opcionalmente, pode especificar a Binding.Converter se quiser converter os dados. Para mais informações sobre ligação de dados, consulte Data Binding (WPF).
Note
DataGridHyperlinkColumn cria um Hyperlink elemento no modo não-edição e um TextBox elemento no modo de edição.
Se quiser apresentar outros tipos de dados, DataGrid fornece os seguintes tipos de colunas:
| Tipo de Coluna | Exibição de dados |
|---|---|
| DataGridCheckBoxColumn | Uso para mostrar dados booleanos. |
| DataGridComboBoxColumn | Use para mostrar dados de enumeração. |
| DataGridTextColumn | Usa para mostrar texto. |
Se quiser usar outros controlos no seu DataGrid, pode criar os seus próprios tipos de coluna usando DataGridTemplateColumn.
Construtores
| Name | Description |
|---|---|
| DataGridHyperlinkColumn() |
Inicializa uma nova instância da DataGridHyperlinkColumn classe. |
Campos
| Name | Description |
|---|---|
| TargetNameProperty |
Identifica a TargetName propriedade de dependência. |
Propriedades
| Name | Description |
|---|---|
| ActualWidth |
Obtém a largura atual da coluna, em unidades independentes do dispositivo (1/96 de polegada por unidade). (Herdado de DataGridColumn) |
| Binding |
Obtém ou define a ligação que associa a coluna a uma propriedade na fonte de dados. (Herdado de DataGridBoundColumn) |
| CanUserReorder |
Recebe ou define um valor que indica se o utilizador pode alterar a posição de exibição da coluna arrastando o cabeçalho da coluna. (Herdado de DataGridColumn) |
| CanUserResize |
Recebe ou define um valor que indica se o utilizador pode ajustar a largura da coluna usando o rato. (Herdado de DataGridColumn) |
| CanUserSort |
Recebe ou define um valor que indica se o utilizador pode ordenar a coluna clicando no cabeçalho da coluna. (Herdado de DataGridColumn) |
| CellStyle |
Obtém ou define o estilo que é usado para renderizar células na coluna. (Herdado de DataGridColumn) |
| ClipboardContentBinding |
Obtém ou define o objeto de ligação para usar 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 ligação ao texto do hiperlink. |
| DataGridOwner |
Obtém o DataGrid controlo 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 envolve o tipo CLR desta instância. (Herdado de DependencyObject) |
| Dispatcher |
Percebe o Dispatcher que isto 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 style para aplicar ao cabeçalho da coluna durante uma operação de arrasto. (Herdado de DataGridColumn) |
| EditingElementStyle |
Obtém ou define o estilo que é usado ao renderizar o elemento que a coluna apresenta para uma célula em modo de edição. (Herdado de DataGridBoundColumn) |
| ElementStyle |
Obtém ou define o estilo usado ao renderizar o elemento que a coluna apresenta para uma célula que não está em 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 aplicar 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 da coluna. (Herdado de DataGridColumn) |
| IsAutoGenerated |
Obtém um valor que indica se a coluna é gerada automaticamente. (Herdado de DataGridColumn) |
| IsFrozen |
Recebe um valor que indica se a coluna está impedida de deslocar-se horizontalmente. (Herdado de DataGridColumn) |
| IsReadOnly |
Recebe ou define um valor que indica se as células da coluna podem ser editadas. (Herdado de DataGridColumn) |
| IsSealed |
Recebe um valor que indica se esta instância está atualmente selada (apenas leitura). (Herdado de DependencyObject) |
| MaxWidth |
Obtém ou define a restrição máxima de largura 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 ordenação (ascendente ou descendente) da coluna. (Herdado de DataGridColumn) |
| SortMemberPath |
Obtém ou define um nome de propriedade, ou uma hierarquia delimitada por períodos de nomes de propriedades, que indica o membro por que se deve ordenar. (Herdado de DataGridColumn) |
| TargetName |
Obtém ou define o nome de uma janela ou frame alvo 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 automático de dimensionamento. (Herdado de DataGridColumn) |
Métodos
| Name | Description |
|---|---|
| CancelCellEdit(FrameworkElement, Object) |
Faz com que a célula da coluna editada volte a ser o valor especificado. |
| CancelCellEdit(FrameworkElement, Object) |
Faz com que a célula que está a ser editada volte ao valor original, não editado. (Herdado de DataGridColumn) |
| CheckAccess() |
Determina se o thread que chama 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 DependencyProperty identificador. (Herdado de DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Limpa o valor local de uma propriedade de apenas leitura. O imóvel a ser limpo é especificado por um DependencyPropertyKey. (Herdado de DependencyObject) |
| CoerceValue(DependencyProperty) |
Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada DependencyObject. (Herdado de DependencyObject) |
| CommitCellEdit(FrameworkElement) |
Realiza qualquer validação necessária antes de sair do modo de edição. |
| CommitCellEdit(FrameworkElement) |
Realiza qualquer validação necessária antes de sair do modo de edição de células. (Herdado de DataGridColumn) |
| Equals(Object) |
Determina se um fornecido DependencyObject é equivalente à corrente DependencyObject. (Herdado de DependencyObject) |
| GenerateEditingElement(DataGridCell, Object) |
Obtém um elemento editável TextBox que está associado ao valor da propriedade da ContentBinding coluna. |
| GenerateElement(DataGridCell, Object) |
Obtém um elemento de só Hyperlink leitura que está ligado ao valor da propriedade da ContentBinding coluna. |
| GetCellContent(DataGridRow) |
Recupera o Content valor da propriedade da célula na interseção desta coluna com a linha especificada. (Herdado de DataGridColumn) |
| GetCellContent(Object) |
Obtém o Content valor da propriedade da célula na interseção desta coluna com a linha que representa o elemento de dados especificado. (Herdado de DataGridColumn) |
| GetHashCode() |
Obtém um código de hash para isto DependencyObject. (Herdado de DependencyObject) |
| GetLocalValueEnumerator() |
Cria um enumerador especializado para determinar quais as propriedades de dependência que têm valores localmente definidos neste DependencyObject. (Herdado de DependencyObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetValue(DependencyProperty) |
Devolve 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 atual Object. (Herdado de Object) |
| NotifyPropertyChanged(String) |
Notifica o DataGrid que contém esta coluna que uma propriedade da coluna mudou. (Herdado de DataGridColumn) |
| OnBindingChanged(BindingBase, BindingBase) |
Notifica quando DataGrid o valor da Binding propriedade muda. (Herdado de DataGridBoundColumn) |
| OnCoerceIsReadOnly(Boolean) |
Determina o valor da IsReadOnly propriedade com base nas regras da propriedade da grelha de dados que contém esta coluna. (Herdado de DataGridBoundColumn) |
| OnContentBindingChanged(BindingBase, BindingBase) |
Notifica quando DataGrid a ContentBinding propriedade muda. |
| OnCopyingCellClipboardContent(Object) |
Eleva o CopyingCellClipboardContent evento. (Herdado de DataGridColumn) |
| OnPastingCellClipboardContent(Object, Object) |
Eleva o PastingCellClipboardContent evento. (Herdado de DataGridColumn) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Invocado sempre que o valor efetivo de qualquer propriedade de dependência disto DependencyObject for atualizado. A propriedade específica da dependência que mudou é reportada nos dados do evento. (Herdado de DependencyObject) |
| PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Chamada quando uma célula na coluna entra em modo de edição. |
| ReadLocalValue(DependencyProperty) |
Devolve o valor local de uma propriedade de dependência, se esta existir. (Herdado de DependencyObject) |
| RefreshCellContent(FrameworkElement, String) |
Atualiza o conteúdo de uma célula na coluna em resposta a uma alteração no valor da propriedade da coluna. |
| SetCurrentValue(DependencyProperty, Object) |
Define o valor de uma propriedade de dependência sem alterar a sua fonte de valor. (Herdado de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência, especificado pelo seu identificador de propriedade de dependência. (Herdado de DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Define o valor local de uma propriedade de dependência somente de leitura, especificado pelo DependencyPropertyKey identificador da propriedade de dependência. (Herdado de DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Devolve um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida. (Herdado de DependencyObject) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| VerifyAccess() |
Faz cumprir que o thread que chama tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
evento
| Name | Description |
|---|---|
| CopyingCellClipboardContent |
Ocorre depois de preparar o conteúdo da prancheta da célula. (Herdado de DataGridColumn) |
| PastingCellClipboardContent |
Ocorre antes de o conteúdo da prancheta ser transferido para a célula. (Herdado de DataGridColumn) |