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 является узлом навигации. Примеры узлов навигации: NavigationWindowFrameили любой браузер, который может размещать XBAPs. Дополнительные сведения см. в статье "Узлы навигации" в обзоре навигации.
Дополнительные сведения о поддержке XBAP см. в разделе часто задаваемые вопросы о приложениях, размещенных в браузере WPF (XBAP).
Чтобы заполнить столбец, привязать столбец к Uri данным с помощью Binding свойства. Чтобы отобразить текст гиперссылки, отличный от строки URI, привязать текстовое значение к свойству ContentBinding . Свойство Binding применяется к элементу Hyperlink или TextBox элементу, созданному в столбце. Для 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) |