2014-02-28 21 views
1

ListView의 DataGridColumns를 지정하고 있습니다.DataGridColum 헤더가 사용자 정의 된 경우 MultiBinding 사용

<GridViewColumn Width="Auto" 
       DisplayMemberBinding="{Binding Id}" 
       Header="Id" /> 

2 때로는 열 머리글이 경우에이 코드를 사용

1 somtimes, 열 헤더가 하나 개의 단어 '이드'입니다 :

나는 많은 상황이

<GridViewColumn Width="85" 
       DisplayMemberBinding="{Binding ManyWordsColumnHeader}" > 
    <GridViewColumnHeader> 
     <TextBlock Text="Many words column header" 
        TextWrapping="Wrap" /> 
    </GridViewColumnHeader> 
</GridViewColumn> 

-3- 때때로 라인의 함유량 Multibinded가 (많은 특성이다 TextWrapping와 TextBlock의 사용을 난 multilines 그들을 표시이 경우, 많은 단어로 구성되는 같은 시간에),이 같은 :

<GridViewColumn Header="Fist name & last name"> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate DataType="models:PersonClass"> 
      <TextBlock> 
       <TextBlock.Text> 
        <MultiBinding StringFormat="{}{0} {1}"> 
         <Binding Path="FirstName" /> 
         <Binding Path="LastName" /> 
        </MultiBinding> 
       </TextBlock.Text> 
      </TextBlock> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

내가 열 헤더 이름이 여러 단어로 구성된 라인의 내용이 많은 특성 multibinded해야 경우 어떻게해야합니까?

다른 말로하면 두 번째 사례와 세 번째 사례를 결합하고 싶습니다.

답변

1

나는 실제로 GridView으로 경기를하지는 않았지만,이 접근법은 논리적 인 것처럼 보입니다. 간단히 점 2 점 3에서 XAML을 결합 :이

<GridViewColumn Width="85" > 
    <GridViewColumn.CellTemplate> 
     <DataTemplate DataType="models:PersonClass"> 
      <TextBlock> 
       <TextBlock.Text> 
        <MultiBinding StringFormat="{}{0} {1}"> 
         <Binding Path="FirstName" /> 
         <Binding Path="LastName" /> 
        </MultiBinding> 
       </TextBlock.Text> 
      </TextBlock> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
    <GridViewColumnHeader> 
     <TextBlock Text="Many words column header" 
        TextWrapping="Wrap" /> 
    </GridViewColumnHeader> 
</GridViewColumn> 

당신이 열 "여러 단어로 구성된 열 헤더 이름과 많은 특성에 multibinded 라인의 내용을"이있다.

0

여기에 몇 가지 옵션이 있습니다. 가 자막 행 목록으로 설정 ItemSource와

  1. 변경 헤더의 내용은 ListView를합니다.

  2. 은 Environment.NewLine로 구분 된 문자열을 바인딩 의 모든에서 모든 값을 받아 반환하는 MultiValueConverter를 추가합니다.