2012-12-28 3 views
2

사용자 정의 유형의 observableCollection을 사용하여 격자를 바인딩하고 있습니다. 내 수업에는 몇 가지 속성이 있습니다. 이름, 성, DateOfBirth 등격자 바인딩 열 이름

Grid를 바인딩 할 때. 즉 FirstName과 같은 머리글을 표시하고 있지만 First Name과 같아야합니다.

클래스의 속성에 대한 특성과 관련이 있지만 어떤 특성을 사용해야하는지 알 수 없습니다.

표시 속성을 시도했지만 작동하지 않았습니다.

모든 정보는 도움이 될 것입니다 ...

+0

당신이 이것을 시도 : http://stackoverflow.com/questions/151682/dynamically-setting-the-header-text-of-a-slverlight-datagrid-column – WooCaSh

+0

감사 WooCash, 나는 헤더를 바인딩하지 오전 및 나는 그것을하고 싶지 않다. 동일한 그리드가 다른 데이터 소스에 바인딩되기 때문에 autogeneratedcolumns를 true로 설정했습니다. – Gyandeep

답변

2

이 XAML에서이 작업을 수행하는 방법입니다,하지만 당신은에 이벤트 핸들러를 추가하고하면 ColumnHeader 텍스트를 변경하는 몇 가지 로직을 추가 할 수 있는지 확실하지.

XAML :

<DataGrid ItemsSource="{Binding ...}" AutoGeneratingColumn="DataGrid_AutoGeneratingColumn" /> 

코드 : "FIRSTNAME"= "이름"

Before

:

private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
    { 
    e.Column.Header = string.Concat(e.Column.Header.ToString().Select(x => char.IsUpper(x) ? " " + x : x.ToString())).TrimStart(' '); 
    } 

이 대문자 문자 예를 들어 사이에 공백을 가지고 파스칼에게 케이스를 변환합니다

After

+0

감사합니다 sa_ddam213, 내 문제가 해결되었습니다. – Gyandeep

+0

안녕하세요 당신은 몇 가지 정의 된 순서로 제공되도록 속성의 주문 부분에 대한 제안을 할 수 있습니까? 그리드에 정적 컬럼을 가질 수없고 또한 그리드가 다른 오브젝트 콜렉션 인 여러 데이터 소스에 바인딩됩니다. – Gyandeep