2011-07-28 2 views
0

저는 쉽게 해결할 수 있다고 생각되는 문제에 직면하고 있지만 ... 쉽지는 않습니다.DataGrid : Dynamic StringFormat

여기 상황이 있습니다 : UserControl WPFToolkit의 DataGrid (.NET 3.5 : /에서 작업해야 함)에서 상속 된 사용자 정의를 작성했습니다.

이 컨트롤은 재무 값을 표시하는 매트릭스이며 사용자는 표시 형식 (백분율, 절대, 백분율이 1 또는 2 인 백분율 ...)을 선택할 수 있어야합니다.

그리고 ... 어쩌면 나는 어리석은 짓일 수도 있지만 해결할 수는 없습니다. 내 컨트롤에는 전체 시장 데이터 참조가 포함 된 사용자 지정 DependencyProperty이 있으며 특정 속성에 대한 참조의 특정 부분을 디스패치합니다 (예 : 가격 차이는 ItemsSource). 사용자는 표시되는 내용 (가격, 가격 차이, 어제 가격, 기타 임의의 재정적 내용 ...)을 변경할 수 있으므로 표시 형식이 정기적으로 변경되고 사용자가 직접 선택하도록 허용해야합니다.

내 세포는 단지 Style에 정의에 따라 내 ResourceDictionary :

<Style x:Key="CellStyle" TargetType="{x:Type tk:DataGridCell}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type tk:DataGridCell}"> 
        <Grid Background="{TemplateBinding Background}"> 
         <ContentPresenter 
          HorizontalAlignment="Center" 
             VerticalAlignment="Center"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

나는이 (가) ItemsSource (I 뒤에 때 코드에서 설정 결합하지 않는 BindingStringFormat 원인이 작동하지 않습니다 시장 참조 속성은

가 이미 그러나

this answer, proposing a converter를 보았다) 변경 내가 셀에 변환기를 추가해야합니다 어디 모르는 것 같아 ...

아이디어가 있으십니까?

감사합니다.

답변

1

나는 결국 내 Binding에 논리적 인 단계를 추가하여이 문제를 해결 : 지금은 필요할 때 ToString(CurrentFormat)를 사용하여 :)

을 내 ÌtemsSource 원래 double[]에서 생성되는 string[]로 설정