WPF 응용 프로그램에서 DataGrid를 구성하고 있습니다. Datagrid의 ItemSource
은 IEnumerable
컬렉션으로 묶입니다. 내 프로젝트의 ViewModel을 사용하지 않습니다. 내 DataGrid itemsource를 DataGrid에 바인딩하면 즉시 열 머리글과 행 값을 가져옵니다.Datagrid의 동적 열 머리글 및 머리글 개수 WPF
헤더가 없습니다. 그것은 아무것도 될 수 있습니다. 그리드의 DataGrid에서 선택한 행의 자세한 정보를 표시해야합니다.
이렇게하려면 그리드의 텍스트 블록에 SelectedItem.HeaderName을 bing해야합니다. 하지만 여기서 문제는 헤더의 이름을 모르겠다는 것입니다. 그래서 나는 단지 SelectedItem.Headername
을 하드 코드 할 수 없다.
그리고 열의 수는 각각 다를 수 있습니다. 따라서 내 DataGrid의 행을 선택하면 세부적인 뷰에서 Dynamic Name Header 이름에 해당 값을 지정해야합니다.
현재로서는 다음과 같이 내 xaml에서 결과를 harcoded 및 보았습니다. 왜냐하면 특정 파일에 대해 각각의 열 머리글을 알고 있기 때문에
<Label HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Grid.Row="0"
Grid.Column="0">Header2:
</Label>
<TextBlock Grid.Row="0"
Grid.Column="1"
Name="Header2"
Text="{Binding SelectedItem.date, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="0"
Grid.Column="2"
VerticalAlignment="Center">Header3:</Label>
<TextBlock Grid.Row="0"
Grid.Column="3"
Name="username"
Text="{Binding SelectedItem.Header3, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="0"
Grid.Column="4"
VerticalAlignment="Center">Header4:</Label>
<TextBlock Grid.Row="0"
Grid.Column="5"
Name="level"
Text="{Binding SelectedItem.header4, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="1"
Grid.Column="0"
VerticalAlignment="Center">Header5:</Label>
<TextBlock Grid.Row="1"
Grid.Column="1"
Name="logger"
Text="{Binding SelectedItem.header5, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="1"
Grid.Column="2"
VerticalAlignment="Center">Headr6:</Label>
<TextBlock Grid.Row="1"
Grid.Column="3"
Name="thread"
Text="{Binding SelectedItem.header6, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
나는이 작업을 수행하는 방법을 알 수 없었기 때문에. 나는 너를 도와 주려고 노력하면 기뻐할거야. 이 동적 열 생성과 관련된 몇 가지 개념, Count, 동적 열 머리글을 UI의 다른 컨트롤에 지정하는 방법을 제안하십시오. 미리 감사드립니다.
내가 당신을 잘 이해한다면, DataGrid 정보를 표시하는 Grid 컨텐츠도 동적이어야합니다. 이 경우 코드를 사용하는 것이 더 좋은 방법입니다. – HichemSeeSharp
@HichemC : 맞음 .. :) – BinaryMee