2009-11-19 7 views
1

저는 Silverlight의 초보자이며 문제 해결에 어려움을 겪고 있습니다.Silverlight Datagrid Databinding

저는 3 개의 열이있는 실버 라이트 DataGrid가 있습니다. 열 중 하나는 정수에 바인딩됩니다. 내 정수를 상태 코드로 변환하는 함수에 내 열을 바인딩 할 수 있기를 원합니다. 이 함수는 정수를 받아들이고 switch 문을 사용하여 해당 숫자가 나타내는 문자열을 반환합니다.

0 = 비활성
1 = 활성
2 = 보류

내가 찾은 무엇의 많은 요소가 아주 멋진 인 바인딩을위한 기술,하지만 난 무엇을하고있다 찾고.

답변

1

데이터 바인딩 된 값에서 함수를 호출 할 수있는 IValueConverter를 만들 수 있습니다.
당신은 전달 된 값을 기준으로 문자열을 반환하는 변환 방법을 사용자 정의 할 수 있습니다

공공 객체 변환 (개체 값 유형 TARGETTYPE, 개체 매개 변수은 CultureInfo 문화) {
스위치 ((INT) 값)
{
사례 0 : 반환 "비활성";
사례 1 : "활성"반환;
사례 2 : '대기 중'을 반환합니다. Phani는

  • 를 사용하여 모델 - 뷰 - 뷰 모델을 제시처럼}

  • IValueConverter on MSDN
    IValueConverter example in Silverlight

    0

    아키텍처에 따라
    }
    나도

    1. 은 (AN IValueConverter를 구현하는 것이 MVVM) 패턴. 이 패턴에서는 바인딩에 필요한 모든 것이 뷰 모델에서 추가 속성으로 표시됩니다.

    은 그래서 당신은 당신이 등록

    {Binding StatusCodeName} 
    
    에 결합 할 수있는 다음

    public class ViewModel:INoftifyPropertyChanged 
    { 
        private Model _model; 
    
        public string StatusCodeName 
        { 
         get 
         { 
          string statusCodeName = SomeCodeToGetStatusCodeNameFromStatus(_model.Status); 
          return statusCodeName; 
         } 
        } 
    } 
    

    같은 것을 할 것이다