Condividi tramite


DataGridHyperlinkColumn Classe

Definizione

Rappresenta una colonna DataGrid che ospita nelle celle gli elementi Uri.

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
Ereditarietà

Esempio

Nell'esempio seguente viene illustrato un DataGridHyperlinkColumn oggetto che imposta con Uri la Binding proprietà e il testo del collegamento ipertestuale con la ContentBinding proprietà . L'evento Hyperlink.Click viene gestito automaticamente perché NavigationWindow è l'elemento padre di 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

Commenti

Usare DataGridHyperlinkColumn per visualizzare i dati che contengono un Urioggetto , ad esempio un indirizzo HTTP o un indirizzo di posta elettronica. La figura seguente mostra un esempio di .DataGridHyperlinkColumn

DataGridHyperlinkColumn con indirizzi di posta elettronica

Nota

Hyperlink lo spostamento può verificarsi solo se l'elemento padre diretto o indiretto di un Hyperlink oggetto è un host di navigazione. Esempi di host di spostamento includono NavigationWindow, Frameo qualsiasi browser in grado di ospitare XBAP. Per altre informazioni, vedere l'articolo "Host di spostamento" in Panoramica della navigazione.

Per altre informazioni sul supporto XBAP, vedere Domande frequenti sulle applicazioni ospitate dal browser WPF (XBAP).

Per popolare la colonna, associare la colonna ai Uri dati usando la Binding proprietà . Per visualizzare il testo del collegamento ipertestuale diverso dalla stringa URI, associare il valore di testo alla ContentBinding proprietà . La Binding proprietà viene applicata all'elemento Hyperlink o TextBox creato nella colonna . L'elemento DataContext per l'elemento in ogni cella è l'elemento di dati della riga in cui si trova la cella. Pertanto, per configurare l'associazione è necessario impostare solo .Binding.Path Facoltativamente, è possibile specificare un oggetto Binding.Converter se si desidera convertire i dati. Per altre informazioni sul data binding, vedere Data Binding (WPF).For more information about data binding, see Data Binding (WPF).

Nota

DataGridHyperlinkColumn crea un Hyperlink elemento nella modalità di non modifica e un TextBox elemento nella modalità di modifica.

Se si desidera visualizzare altri tipi di dati, DataGrid vengono forniti i tipi di colonna seguenti:

Tipo di colonna Visualizzazione dei dati
DataGridCheckBoxColumn Usare per visualizzare i dati booleani.
DataGridComboBoxColumn Usare per visualizzare i dati di enumerazione.
DataGridTextColumn Usare per visualizzare il testo.

Se si desidera usare altri controlli in DataGrid, è possibile creare tipi di colonna personalizzati usando DataGridTemplateColumn.

Costruttori

DataGridHyperlinkColumn()

Inizializza una nuova istanza della classe DataGridHyperlinkColumn.

Campi

TargetNameProperty

Identifica la proprietà di dipendenza TargetName.

Proprietà

ActualWidth

Ottiene la larghezza corrente della colonna, in unità indipendenti dal dispositivo (1/96° pollice per unità).

(Ereditato da DataGridColumn)
Binding

Recupera o imposta l'associazione che associa la colonna a una proprietà nell'origine dati.

(Ereditato da DataGridBoundColumn)
CanUserReorder

Recupera o imposta un valore che indica se l'utente può modificare la posizione di visualizzazione delle colonne trascinando le intestazioni delle colonne.

(Ereditato da DataGridColumn)
CanUserResize

Ottiene o imposta un valore che indica se l'utente può regolare la larghezza delle colonne utilizzando il mouse.

(Ereditato da DataGridColumn)
CanUserSort

Recupera o imposta un valore che indica se l'utente può ordinare la colonna facendo clic sull'intestazione.

(Ereditato da DataGridColumn)
CellStyle

Ottiene o imposta lo stile utilizzato per il rendering delle celle nella colonna.

(Ereditato da DataGridColumn)
ClipboardContentBinding

Ottiene o imposta l'oggetto di associazione da utilizzare quando si ottiene o si imposta il contenuto della cella per gli Appunti.

(Ereditato da DataGridBoundColumn)
ContentBinding

Ottiene o imposta l'associazione al testo del collegamento ipertestuale.

DataGridOwner

Ottiene il controllo DataGrid che contiene questa colonna.

(Ereditato da DataGridColumn)
DefaultEditingElementStyle

Valore predefinito della proprietà EditingElementStyle.

DefaultElementStyle

Valore predefinito della proprietà ElementStyle.

DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
DisplayIndex

Ottiene o imposta la posizione di visualizzazione della colonna relativa alle altre colonne presenti nell'oggetto DataGrid.

(Ereditato da DataGridColumn)
DragIndicatorStyle

Ottiene o imposta l'oggetto stile da applicare all'intestazione di colonna durante un'operazione di trascinamento.

(Ereditato da DataGridColumn)
EditingElementStyle

Ottiene o imposta lo stile utilizzato quando viene eseguito il rendering dell'elemento visualizzato dalla colonna per una cella in modalità di modifica.

(Ereditato da DataGridBoundColumn)
ElementStyle

Ottiene o imposta lo stile utilizzato quando viene eseguito il rendering dell'elemento visualizzato dalla colonna per una cella non in modalità di modifica.

(Ereditato da DataGridBoundColumn)
Header

Recupera o imposta il contenuto dell'intestazione della colonna.

(Ereditato da DataGridColumn)
HeaderStringFormat

Ottiene o imposta il modello di formato da applicare al contenuto dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderStyle

Ottiene o imposta lo stile utilizzato per il rendering dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderTemplate

Ottiene o imposta il modello che definisce la rappresentazione visiva dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderTemplateSelector

Ottiene o imposta l'oggetto che consente la selezione del modello da utilizzare per l'intestazione di colonna.

(Ereditato da DataGridColumn)
IsAutoGenerated

Ottiene un valore che indica se la colonna viene generata automaticamente.

(Ereditato da DataGridColumn)
IsFrozen

Ottiene un valore che indica se non è possibile scorrere la colonna orizzontalmente.

(Ereditato da DataGridColumn)
IsReadOnly

Recupera o imposta un valore che indica se è possibile modificare le celle nella colonna.

(Ereditato da DataGridColumn)
IsSealed

Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura).

(Ereditato da DependencyObject)
MaxWidth

Ottiene o imposta il vincolo di larghezza massima della colonna.

(Ereditato da DataGridColumn)
MinWidth

Ottiene o imposta il vincolo di larghezza minima della colonna.

(Ereditato da DataGridColumn)
SortDirection

Ottiene o imposta il tipo di ordinamento (crescente o decrescente) della colonna.

(Ereditato da DataGridColumn)
SortMemberPath

Recupera o imposta un nome di proprietà o una gerarchia di nomi di proprietà separati da punti, che indica il membro in base al quale eseguire l'ordinamento.

(Ereditato da DataGridColumn)
TargetName

Ottiene o imposta il nome di un frame o di una finestra di destinazione del collegamento ipertestuale.

Visibility

Recupera o imposta la visibilità della colonna.

(Ereditato da DataGridColumn)
Width

Recupera o imposta la larghezza della colonna o la modalità di ridimensionamento automatico.

(Ereditato da DataGridColumn)

Metodi

CancelCellEdit(FrameworkElement, Object)

Provoca la modifica della cella della colonna per ripristinare il valore specificato.

CancelCellEdit(FrameworkElement, Object)

Provoca la modifica della cella per ripristinare il valore originale, non modificato.

(Ereditato da DataGridColumn)
CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare è specificata da un identificatore DependencyProperty.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
CoerceValue(DependencyProperty)

Assegna forzatamente il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante.

(Ereditato da DependencyObject)
CommitCellEdit(FrameworkElement)

Esegue una convalida richiesta prima di uscire dalla modalità di modifica.

CommitCellEdit(FrameworkElement)

Esegue una convalida richiesta prima di uscire dalla modalità di modifica delle celle.

(Ereditato da DataGridColumn)
Equals(Object)

Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente.

(Ereditato da DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Ottiene un elemento TextBox modificabile associato al valore della proprietà ContentBinding della colonna.

GenerateElement(DataGridCell, Object)

Ottiene un elemento Hyperlink in sola lettura associato al valore della proprietà ContentBinding della colonna.

GetCellContent(DataGridRow)

Recupera il valore della proprietà Content per la cella in corrispondenza dell'intersezione della colonna e della riga specificata.

(Ereditato da DataGridColumn)
GetCellContent(Object)

Ottiene il valore della proprietà Content per la cella in corrispondenza dell'intersezione della colonna e della riga che rappresenta l'elemento dati specificato.

(Ereditato da DataGridColumn)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
NotifyPropertyChanged(String)

Notifica all'oggetto DataGrid che contiene questa colonna che una proprietà della colonna è stata modificata.

(Ereditato da DataGridColumn)
OnBindingChanged(BindingBase, BindingBase)

Notifica DataGrid quando il valore della proprietà Binding cambia.

(Ereditato da DataGridBoundColumn)
OnCoerceIsReadOnly(Boolean)

Determina il valore della proprietà IsReadOnly in base alle regole della proprietà della griglia dei dati che contiene questa colonna.

(Ereditato da DataGridBoundColumn)
OnContentBindingChanged(BindingBase, BindingBase)

Notifica all'oggetto DataGrid quando la proprietà ContentBinding viene modificata.

OnCopyingCellClipboardContent(Object)

Genera l'evento CopyingCellClipboardContent.

(Ereditato da DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Genera l'evento PastingCellClipboardContent.

(Ereditato da DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Richiamato ogni volta che viene aggiornato il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject. La proprietà di dipendenza specifica modificata viene indicata nei dati dell'evento.

(Ereditato da DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Chiamato quando per una cella della colonna viene attivata la modalità di modifica.

ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
RefreshCellContent(FrameworkElement, String)

Aggiorna il contenuto di una cella della colonna in risposta alla modifica di un valore della proprietà della colonna.

SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dal relativo identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Eventi

CopyingCellClipboardContent

Si verifica dopo la preparazione del contenuto degli Appunti della cella.

(Ereditato da DataGridColumn)
PastingCellClipboardContent

Si verifica prima dello spostamento del contenuto degli Appunti nella cella.

(Ereditato da DataGridColumn)

Si applica a

Vedi anche