2013-04-26 5 views
0

저는 WPF에 꽤 익숙해 져서 제 무지를 용서합니다. 현재 DataGrid에 대해 ItemsSource으로 사용중인 개체 목록이 있습니다. 객체의 필드 중 하나는 float 데이터 유형이며, ItemsSource으로 사용될 때 물론 DataGrid에 소수점 자리를 표시합니다.ItemsSource를 사용하여 표시 할 데이터 형식을 지정하는 방법은 무엇입니까?

가능한 경우 기본 데이터를 변경하지 않고 이러한 소수 자릿수를 제거하고 싶습니다. 즉, 나는 그들이 마치 DataGrid에 int 인 것처럼 그들을 표시하고 싶지만 List에 부동으로 남겨 둡니다.

C#을 사용하여이 작업을 수행 할 수 있다면 매우 멋지게 될 것입니다. 이것은 필요성을 방지

<DataGridTextColumn Header="My Number" Binding="{Binding MyNumber, StringFormat=N}"/> 

: XAML은이 같은 BindingStringFormat 속성을 사용할 수 있습니다, 내가 단순히 표시 목적의 값을 포맷하려는 경우 :

+3

'XAML이 나를 구토하게 만듭니다. '- 그러면 winforms로 돌아갑니다. WPF는 초보자를위한 것이 아닙니다. =) –

+0

그래서 큰 긴 문자열 (태그)로 코딩하는 것을 선호합니다. 각자 자신의 생각대로 :) – Tevis

+0

XAML이 코딩되지 않았습니다. XAML은 UI를 정의하는 것입니다. 물론 다른 기술 (P/Invoke? Owner Draw? WTF는 무엇입니까?)에서 수행해야 할 여러 가지 끔찍한 해킹에 대해 XAML을 선호합니다. –

답변

2

구토 할 수 있습니다 매우 간단한 경우 Converter입니다. 더 많은 전력/유연성이 필요하다면, Converter은 반드시가는 길입니다.

+1

+1. 다시 말하지만, 나는이 대답에 너무 게으른 편이다. 나는 코멘트에서 ranting 선호한다. –

+0

내가 들었어. 결국 금요일입니다. –

+0

C# 측에서이 작업을 수행 할 수 있습니까? 현재 바인딩 문자열을 사용하고 있지 않지만 'MyDataGrid.ItemsSource = List'를 할당하는 중 – Tevis

관련 문제