2017-10-19 1 views
0

DataGrid가 있습니다. 매우 간단합니다 :목록 삽입 <string> 항목 중 DataGrid-Column-Index 2

<DataGrid Width="320" Height="340" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Header="Filter" Width="Auto"/> 
      <DataGridTextColumn Header="Name" Width="*"/> 
     </DataGrid.Columns> 
    </DataGrid> 

그래서 이제 List of Strings를 두 번째 열에 삽입해야합니다. 좋은 솔루션을 찾고 있지만 좋은 솔루션을 찾을 수 없습니다. 바인딩을 사용하여이 작업을 수행하는 것에 대해 생각했지만 두 번째 열만 채우기 위해 작업 할 수 없습니다.

첫 번째 열에서 모든 문자열 항목 앞에 체크 박스를 삽입하고 싶습니다.

<DataGrid Margin="4" AutoGenerateColumns="False" ItemsSource="{Binding Models}"> 
     <DataGrid.Columns> 
      <DataGridCheckBoxColumn Header="CheckBox Column Header" Binding="{Binding BindToBooleanPropertyFromModel}"></DataGridCheckBoxColumn> 
      <DataGridTemplateColumn Header="List of strings"> 
       <DataGridTemplateColumn.CellTemplate> 
        <ItemContainerTemplate> 
         <ItemsControl ItemsSource="{Binding BindToListPropertyFromModel}"> 
         </ItemsControl> 
        </ItemContainerTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 
     </DataGrid.Columns> 
    </DataGrid> 

: 수동으로 열을 생성하고 두 번째 열의 DataGridTemplateColumn을 사용하고 같은 그 DataGridTemplateColumn.CellTemplate로 (그것을 상속 또는 제어)을 ItemsControl를 제공 할 수

+0

행의 두 번째 열에 문자열 목록을 저장 하시겠습니까? – Redouane

+0

@Redouane 예, 목록에 약 70 개의 항목이 있습니다. 그것들은 두 번째 열 머리글 아래 행에 표시되어야합니다. – Niclas

답변

0

미리 :)에서

감사합니다 나는 각각 bool 유형의 속성 이름과 문자열 목록을 보유하는 IEnumrable<T> 유형의 속성에 대한 자리 표시 자로서 BindToBooleanPropertyFromModelBindToListPropertyFromModel을 사용합니다.

+0

안녕하세요, 고마워요. 마지막 질문 하나 : 바인딩을 올바르게 만드는 방법을 제게 설명해 주시겠습니까? XAML 부분은 분명하지만 다른 한편으로는 무엇을해야합니까? ItemSource 뒤에 Method (Property)를 넣으면 작동하나요? 또는 .cs 파일에서 다른 작업을 수행해야합니까? – Niclas

+0

ViewModel 및 모델 패턴을 사용합니까? 'DataGrid'를 채우기 위해 데이터 소스로 무엇을 사용합니까? – Redouane

+1

나는 그것을 밖으로 thx 알아 냈다 :) – Niclas