DataGridHyperlinkColumn 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 하이퍼링크 텍스트를 속성으로 설정 UriBinding 하는 ContentBinding 합니다. 이벤트는 Hyperlink.Click .의 DataGrid부모이므로 자동으로 NavigationWindow 처리됩니다.
<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
설명
HTTP 주소 또는 전자 메일 주소와 같이 포함된 Uri데이터를 표시하는 데 사용합니다DataGridHyperlinkColumn. 다음 그림의 예를 보여 줍니다.는 DataGridHyperlinkColumn합니다.
가 있는
메모
Hyperlink 탐색은 직접 또는 간접 부모가 탐색 호스트인 Hyperlink 경우에만 발생할 수 있습니다. 탐색 호스트의 예로는 XBAP를 호스트할 수 있는 브라우저가 있습니다NavigationWindowFrame. 자세한 내용은 탐색 개요의 "탐색 호스트" 문서를 참조 하세요.
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고유한 열 형식을 만들 수 있습니다.
생성자
| Name | Description |
|---|---|
| DataGridHyperlinkColumn() |
DataGridHyperlinkColumn 클래스의 새 인스턴스를 초기화합니다. |
필드
| Name | Description |
|---|---|
| TargetNameProperty |
TargetName 종속성 속성을 식별합니다. |
속성
| Name | Description |
|---|---|
| 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 |
연결된 이 값을 DispatcherDispatcherObject 가져옵니다. (다음에서 상속됨 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) |
메서드
이벤트
| Name | Description |
|---|---|
| CopyingCellClipboardContent |
셀 클립보드 콘텐츠를 준비한 후에 발생합니다. (다음에서 상속됨 DataGridColumn) |
| PastingCellClipboardContent |
클립보드 콘텐츠를 셀로 이동하기 전에 발생합니다. (다음에서 상속됨 DataGridColumn) |