다음을 통해 공유


DataGridHyperlinkColumn 클래스

정의

해당 셀의 DataGrid 요소를 호스트하는 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
상속

예제

다음 예제에서는 속성을 사용 하 고 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합니다.

이메일 주소가 있는 DataGridHyperlinkColumn 전자 메일 주소가 있는

메모

Hyperlink 탐색은 직접 또는 간접 부모가 탐색 호스트인 Hyperlink 경우에만 발생할 수 있습니다. 탐색 호스트의 예로는 XBAP를 호스트할 수 있는 브라우저가 있습니다NavigationWindowFrame. 자세한 내용은 탐색 개요의 "탐색 호스트" 문서를 참조 하세요.

XBAP 지원에 대한 자세한 내용은 WPF 브라우저 호스팅 애플리케이션(XBAP)에 대한 질문과 대답을 참조하세요.

열을 채하려면 속성을 사용하여 열을 Uri 데이터에 바인딩합니다 Binding . URI 문자열과 다른 하이퍼링크 텍스트를 표시하려면 텍스트 값을 속성에 ContentBinding 바인딩합니다. 이 Binding 속성은 열에서 Hyperlink 만든 요소 또는 TextBox 요소에 적용됩니다. DataContext 각 셀의 요소에 대한 값은 셀이 있는 행의 데이터 항목입니다. 따라서 바인딩을 설정하려면 .를 설정 Binding.Path하기만 하면 됩니다. 필요에 따라 데이터를 변환하려는 경우 지정할 Binding.Converter 수 있습니다. 데이터 바인딩에 대한 자세한 내용은 WPF(데이터 바인딩)를 참조하세요.

메모

DataGridHyperlinkColumnHyperlink 편집 모드가 아닌 모드의 요소와 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
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)

열의 ContentBinding 속성 값에 바인딩된 편집 가능한 TextBox 요소를 가져옵니다.

GenerateElement(DataGridCell, Object)

열의 ContentBinding 속성 값에 바인딩된 읽기 전용 Hyperlink 요소를 가져옵니다.

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)

serialization 프로세스가 제공된 종속성 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
VerifyAccess()

호출 스레드가 이에 DispatcherObject액세스할 수 있도록 합니다.

(다음에서 상속됨 DispatcherObject)

이벤트

Name Description
CopyingCellClipboardContent

셀 클립보드 콘텐츠를 준비한 후에 발생합니다.

(다음에서 상속됨 DataGridColumn)
PastingCellClipboardContent

클립보드 콘텐츠를 셀로 이동하기 전에 발생합니다.

(다음에서 상속됨 DataGridColumn)

적용 대상

추가 정보