Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式定义数据网格结构_C#_Wpf_Datagrid - Fatal编程技术网

C# 以编程方式定义数据网格结构

C# 以编程方式定义数据网格结构,c#,wpf,datagrid,C#,Wpf,Datagrid,我在代码中使用了嵌套的datagrid,下面是它的定义。 我对如何以编程方式而不是xaml定义相同的结构感到非常困惑 <DataGrid x:Name="objDatagrid" ItemsSource="{Binding DataView}" AutoGenerateColumns="False" > <DataGrid.RowStyle> <Style

我在代码中使用了嵌套的datagrid,下面是它的定义。 我对如何以编程方式而不是xaml定义相同的结构感到非常困惑

<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)。