C# 以编程方式定义数据网格结构
我在代码中使用了嵌套的datagrid,下面是它的定义。 我对如何以编程方式而不是xaml定义相同的结构感到非常困惑C# 以编程方式定义数据网格结构,c#,wpf,datagrid,C#,Wpf,Datagrid,我在代码中使用了嵌套的datagrid,下面是它的定义。 我对如何以编程方式而不是xaml定义相同的结构感到非常困惑 <DataGrid x:Name="objDatagrid" ItemsSource="{Binding DataView}" AutoGenerateColumns="False" > <DataGrid.RowStyle> <Style
<DataGrid
x:Name="objDatagrid"
ItemsSource="{Binding DataView}"
AutoGenerateColumns="False"
>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<EventSetter Event="MouseDoubleClick" Handler="rowdoubleclick"/>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowDetailsTemplate >
<DataTemplate>
<DataGrid
x:Name="objInnerDatagrid"
IsReadOnly="True"
ItemsSource="{Binding ElementName=objDatagrid, Path=SelectedItem.inner_object}">
<DataGrid.Columns>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<DataGridTextColumn Header="Col1" Width="SizeToHeader" Binding="{Binding Col1}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col2" Width="80" Binding="{Binding Col2}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col3" Width="80" Binding="{Binding Col3}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col4" Width="120" Binding="{Binding Col4}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col5" Width="100" Binding="{Binding Col5}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
请帮助我以编程方式定义此datagrid(即以编程方式创建此datagrid及其绑定)不要在WPF的过程代码中创建或操作UI元素。这就是XAML的用途。Has@HighCore说,不需要按程序生成WPF UI元素。在程序上定义元素将极大地打破建议用于WPF的MVVM模式。我有一个选项卡控件,在.xaml.cs代码中我创建了一个customcontrol,并将其作为子控件添加到选项卡控件中。我的自定义控件没有元素,只有一个简单的网格。每当加载窗口时,我都会以编程方式创建一个datagrid(可以是任何简单的datagrid,也可以是嵌套的)并将其添加到网格中。这样做的原因是嵌套的datagrid可以是不同级别的(在我们的示例中为2)。