我正在我的 WPF 应用程序中构建一个数据网格。ItemSource
的 Datagrid 绑定到一个IEnumerable
集合。我不知道我的项目的 ViewModel。当我将我的数据网格项目源绑定到数据网格时,我会即时获得列标题和行值。
我不知道标题。它可能是任何东西。我需要在网格中的数据网格中显示所选行的详细信息。
为此,我需要将 SelectedItem.HeaderName 绑定到网格的文本块。但这里的问题是我不知道标题的名称。所以我不能简单地硬编码SelectedItem.Headername
。
并且列数可能分别不同。因此,我的详细视图还应在选择了一行的DataGrid时,动态编号标题名称具有相应的值。
到目前为止,我已经在我的 xaml 中进行了编码并看到了结果,如下所示。因为对于特定文件,我知道它们各自的列标题,
<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" />
由于我是一个初学者,我无法弄清楚如何做到这一点。如果你能帮助我,我会很高兴。并建议我需要阅读与此动态列生成相关的一些概念,计数,将动态列标题分配给 UI 中的其他控件。提前致谢!