DataGridHyperlinkColumn Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
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
- Наследование
Примеры
В следующем примере показан объект , DataGridHyperlinkColumn который задает Uri с Binding помощью свойства и текст гиперссылки со свойством ContentBinding . Событие Hyperlink.Click обрабатывается автоматически, так как NavigationWindow является родительским для 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
Комментарии
Используется DataGridHyperlinkColumn для отображения данных, содержащих Uri, например HTTP-адрес или адрес электронной почты. На следующем рисунке показан пример DataGridHyperlinkColumn.
Примечание
Hyperlink навигация может происходить только в том случае, если прямой или косвенный родительский Hyperlink элемент является узлом навигации. Примерами узлов навигации являются NavigationWindow, Frameили любой браузер, в котором могут размещаться XBAP. Дополнительные сведения см. в статье "Узлы навигации" статьи Общие сведения о навигации.
Дополнительные сведения о поддержке XBAP см. в разделе Часто задаваемые вопросы о приложениях WPF, размещенных в браузере (XBAP).
Чтобы заполнить столбец, привяжите столбец к Uri данным с помощью Binding свойства . Чтобы отобразить текст гиперссылки, отличный от строки URI, привяжите текстовое значение к свойству ContentBinding . Свойство Binding применяется к элементу или TextBox , Hyperlink созданному в столбце . Для DataContext элемента в каждой ячейке является элементом данных для строки, в которых находится ячейка. Таким образом, чтобы настроить привязку, необходимо только задать Binding.Path. При необходимости можно указать Binding.Converter , если требуется преобразовать данные. Дополнительные сведения о привязке данных см. в разделе Привязка данных (WPF).
Примечание
DataGridHyperlinkColumn создает Hyperlink элемент в режиме без редактирования и TextBox элемент в режиме редактирования.
Если вы хотите отобразить другие типы данных, DataGrid предоставляет следующие типы столбцов:
Тип столбца | Отображение данных |
---|---|
DataGridCheckBoxColumn | Используется для отображения логических данных. |
DataGridComboBoxColumn | Используется для отображения данных перечисления. |
DataGridTextColumn | Используется для отображения текста. |
Если вы хотите использовать другие элементы управления в DataGrid, можно создать собственные типы столбцов с помощью DataGridTemplateColumn.
Конструкторы
DataGridHyperlinkColumn() |
Инициализирует новый экземпляр класса DataGridHyperlinkColumn. |
Поля
TargetNameProperty |
Идентифицирует свойство зависимостей TargetName. |
Свойства
ActualWidth |
Возвращает текущую ширину столбца в аппаратно-независимых единицах (1/96 дюйма на единицу). (Унаследовано от DataGridColumn) |
Binding |
Получение или установка привязки, которая связывает столбец со свойством источника данных. (Унаследовано от DataGridBoundColumn) |
CanUserReorder |
Получение или установка значения, определяющего, может ли пользователь изменять позицию столбца, перетаскивая его заголовок мышью. (Унаследовано от DataGridColumn) |
CanUserResize |
Получает или задает значение, указывающее, может ли пользователь изменять ширину столбца с помощью мыши. (Унаследовано от DataGridColumn) |
CanUserSort |
Получение или установка значения, определяющего, может ли пользователь сортировать столбец, щелкая его заголовок. (Унаследовано от DataGridColumn) |
CellStyle |
Получает или задает стиль, используемый при визуализации ячеек в столбце. (Унаследовано от DataGridColumn) |
ClipboardContentBinding |
Получает или задает объект привязки, который должен использоваться при получении или задании содержимого ячейки для буфера обмена. (Унаследовано от DataGridBoundColumn) |
ContentBinding |
Получает или задает привязку текста гиперссылки. |
DataGridOwner |
Получает элемент управления DataGrid, содержащий этот столбец. (Унаследовано от DataGridColumn) |
DefaultEditingElementStyle |
Значение по умолчанию для свойства EditingElementStyle. |
DefaultElementStyle |
Значение по умолчанию для свойства ElementStyle. |
DependencyObjectType |
Возвращает объект , DependencyObjectType который заключает в оболочку тип СРЕДЫ CLR данного экземпляра. (Унаследовано от DependencyObject) |
Dispatcher |
Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject. (Унаследовано от DispatcherObject) |
DisplayIndex |
Получает или задает позицию отображения столбца по отношению к другим столбцам в элементе управления DataGrid. (Унаследовано от DataGridColumn) |
DragIndicatorStyle |
Получает или задает объект стиля для применения к заголовку столбца во время операции перетаскивания. (Унаследовано от DataGridColumn) |
EditingElementStyle |
Получает или задает стиль, используемый при визуализации элемента, который отображается в столбце для ячейки, находящейся в режиме правки. (Унаследовано от DataGridBoundColumn) |
ElementStyle |
Получает или задает стиль, используемый при визуализации элемента, который отображается в столбце для ячейки, не находящейся в режиме правки. (Унаследовано от DataGridBoundColumn) |
Header |
Получение или установка содержимого заголовка столбца. (Унаследовано от DataGridColumn) |
HeaderStringFormat |
Получает или задает шаблон формата, применяемый к содержимому заголовка столбца. (Унаследовано от DataGridColumn) |
HeaderStyle |
Получает или задает стиль, используемый при отображении заголовка столбца. (Унаследовано от DataGridColumn) |
HeaderTemplate |
Получает или задает шаблон, определяющий визуальное представление заголовка столбца. (Унаследовано от DataGridColumn) |
HeaderTemplateSelector |
Получает или задает объект, который выбирает, какой шаблон должен использоваться для заголовка столбца. (Унаследовано от DataGridColumn) |
IsAutoGenerated |
Получает значение, указывающее, создается ли столбец автоматически. (Унаследовано от DataGridColumn) |
IsFrozen |
Получает значение, указывающее, запрещена ли горизонтальная прокрутка столбца. (Унаследовано от DataGridColumn) |
IsReadOnly |
Получение или установка значения, определяющего возможность редактирования ячеек в столбце. (Унаследовано от DataGridColumn) |
IsSealed |
Получает значение, указывающее, является ли этот экземпляр в данный момент запечатанным (доступным только для чтения). (Унаследовано от DependencyObject) |
MaxWidth |
Получает или задает максимальное ограничение ширины столбца. (Унаследовано от DataGridColumn) |
MinWidth |
Получает или задает минимальное ограничение ширины столбца. (Унаследовано от DataGridColumn) |
SortDirection |
Получает или задает направление сортировки столбца (по возрастанию или по убыванию). (Унаследовано от DataGridColumn) |
SortMemberPath |
Получение или установка имени свойства либо иерархии имен свойств, разделенных точками, которые определяют член, по которому будет выполняться сортировка. (Унаследовано от DataGridColumn) |
TargetName |
Получает или задает имя целевого окна или фрейма для гиперссылки. |
Visibility |
Получение или установка видимости столбца. (Унаследовано от DataGridColumn) |
Width |
Получение или установка ширины столбца либо режима автоматического изменения размера. (Унаследовано от DataGridColumn) |
Методы
CancelCellEdit(FrameworkElement, Object) |
Приводит к восстановлению указанного значения в изменяемой ячейке столбца. |
CancelCellEdit(FrameworkElement, Object) |
Приводит к восстановлению исходного неизмененного значения в изменяемой ячейке. (Унаследовано от DataGridColumn) |
CheckAccess() |
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
ClearValue(DependencyProperty) |
Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty. (Унаследовано от DependencyObject) |
ClearValue(DependencyPropertyKey) |
Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey. (Унаследовано от DependencyObject) |
CoerceValue(DependencyProperty) |
Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject. (Унаследовано от DependencyObject) |
CommitCellEdit(FrameworkElement) |
Выполняет любую необходимую проверку перед выходом из режима правки. |
CommitCellEdit(FrameworkElement) |
Выполняет любую необходимую проверку перед выходом из режима правки ячейки. (Унаследовано от DataGridColumn) |
Equals(Object) |
Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject. (Унаследовано от DependencyObject) |
GenerateEditingElement(DataGridCell, Object) |
Получает доступный для изменения элемент TextBox, который привязывается к значению свойства ContentBinding столбца. |
GenerateElement(DataGridCell, Object) |
Получает доступный только для чтения элемент Hyperlink, привязанный к значению свойства ContentBinding столбца. |
GetCellContent(DataGridRow) |
Извлекает значение свойства Content для ячейки, расположенной на пересечении данного столбца и указанной строки. (Унаследовано от DataGridColumn) |
GetCellContent(Object) |
Получает значение свойства Content для ячейки, которая расположена на пересечении данного столбца и строки, представляющей указанный элемент данных. (Унаследовано от DataGridColumn) |
GetHashCode() |
Возвращает хэш-код для данного объекта DependencyObject. (Унаследовано от DependencyObject) |
GetLocalValueEnumerator() |
Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject. (Унаследовано от DependencyObject) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject. (Унаследовано от DependencyObject) |
InvalidateProperty(DependencyProperty) |
Повторно вычисляет действующее значение для указанного свойства зависимостей. (Унаследовано от DependencyObject) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
NotifyPropertyChanged(String) |
Уведомляет DataGrid, содержащий этот столбец, об изменении свойства столбца. (Унаследовано от DataGridColumn) |
OnBindingChanged(BindingBase, BindingBase) |
Уведомляет объект DataGrid при изменении значения свойства Binding. (Унаследовано от DataGridBoundColumn) |
OnCoerceIsReadOnly(Boolean) |
Определяет значение свойства IsReadOnly на основе правил свойств из сетки данных, в которой содержится этот столбец. (Унаследовано от DataGridBoundColumn) |
OnContentBindingChanged(BindingBase, BindingBase) |
Уведомляет DataGrid при изменении свойства ContentBinding. |
OnCopyingCellClipboardContent(Object) |
Вызывает событие CopyingCellClipboardContent. (Унаследовано от DataGridColumn) |
OnPastingCellClipboardContent(Object, Object) |
Вызывает событие PastingCellClipboardContent. (Унаследовано от DataGridColumn) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject. Конкретное измененное свойство зависимостей сообщается в данных события. (Унаследовано от DependencyObject) |
PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Вызывается, когда ячейка в столбце переходит в режим правки. |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если таковое существует. (Унаследовано от DependencyObject) |
RefreshCellContent(FrameworkElement, String) |
Обновляет содержимое ячейки в столбце в ответ на изменение значения свойства столбца. |
SetCurrentValue(DependencyProperty, Object) |
Задает значение свойства зависимостей, не меняя источник значения. (Унаследовано от DependencyObject) |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства. (Унаследовано от DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей. (Унаследовано от DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей. (Унаследовано от DependencyObject) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
VerifyAccess() |
Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
События
CopyingCellClipboardContent |
Происходит после подготовки содержимого буфера обмена ячейки. (Унаследовано от DataGridColumn) |
PastingCellClipboardContent |
Происходит перед перемещением содержимого буфера обмена в ячейку. (Унаследовано от DataGridColumn) |