C# 从wpf数据网格获取隐藏值

C# 从wpf数据网格获取隐藏值,c#,wpf,datagrid,C#,Wpf,Datagrid,我可以从DataGrid获取值隐藏列吗 <DataGridTextColumn Header="" Width="10" Binding="{Binding id}" Visibility="Hidden"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTempl

我可以从DataGrid获取值隐藏列吗

<DataGridTextColumn Header="" Width="10" Binding="{Binding id}"  Visibility="Hidden"/>
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

这不是一个选项,因为我在接收数据时有tableadapter。您有一个id绑定字段,所以使用它而不是访问单元格内容。

您有一个id绑定字段,所以使用它而不是访问单元格内容。

我找到了两种方法

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
首先

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
第二

var data = (DataRowView)DataGridService.SelectedItem;
            var userId = data.Row["id"];
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
我找到了两种方法

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
首先

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
第二

var data = (DataRowView)DataGridService.SelectedItem;
            var userId = data.Row["id"];
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

你也可以使用你的代码。您只需要以不同的方式隐藏列:

<DataGridTextColumn Header="" MaxWidth="0" Binding="{Binding id}" />
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>


i、 e.删除
可见性
属性,并将
最大宽度
设置为零。

您也可以使用代码隐藏。您只需要以不同的方式隐藏列:

<DataGridTextColumn Header="" MaxWidth="0" Binding="{Binding id}" />
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>


i、 e.删除
Visibility
属性,并将
MaxWidth
设置为零。

我提供了一个更简单的解决方案,假设您已将列表绑定到Datagrid,您的类具有Id属性,XAML如下所示:

            <DataGrid x:Name="ListeUrls" AutoGenerateColumns="False" Margin="1,0,-1,27" >
                <DataGrid.Resources>
                    <Style TargetType="{x:Type DataGridCell}">
                        <EventSetter Event="MouseDoubleClick" Handler="DataGridCell_MouseDoubleClick"/>
                    </Style>
                </DataGrid.Resources>
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Id}" Visibility="Hidden"></DataGridTextColumn>
                    <DataGridTextColumn Header="Vendor" Binding="{Binding Vendor}" Foreground="red" FontWeight="Bold" ></DataGridTextColumn>
                    <DataGridTextColumn Header="Url" Binding="{Binding url}" ></DataGridTextColumn>

                </DataGrid.Columns>
            </DataGrid>
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
您可以使用VisualTreeHelper获取触发鼠标双击的单元格的父级。父类具有YourClass的属性,因此Id为

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

我认为无需设置隐藏Datagrid列的宽度,将其可见性设置为hidden就足够了。

我提供了一个更简单的解决方案,假设您已将一个列表绑定到Datagrid,YourClass具有Id属性XAML如下所示:

            <DataGrid x:Name="ListeUrls" AutoGenerateColumns="False" Margin="1,0,-1,27" >
                <DataGrid.Resources>
                    <Style TargetType="{x:Type DataGridCell}">
                        <EventSetter Event="MouseDoubleClick" Handler="DataGridCell_MouseDoubleClick"/>
                    </Style>
                </DataGrid.Resources>
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Id}" Visibility="Hidden"></DataGridTextColumn>
                    <DataGridTextColumn Header="Vendor" Binding="{Binding Vendor}" Foreground="red" FontWeight="Bold" ></DataGridTextColumn>
                    <DataGridTextColumn Header="Url" Binding="{Binding url}" ></DataGridTextColumn>

                </DataGrid.Columns>
            </DataGrid>
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>
您可以使用VisualTreeHelper获取触发鼠标双击的单元格的父级。父类具有YourClass的属性,因此Id为

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

我认为不需要设置隐藏的DataGrid列的宽度,将其可见性设置为hidden就足够了。

首先将数据网格视图的选定项转换为数据网格视图的
项源:

dataGridUser.ItemsSource is View_Users ==>
    dataGridUser.ItemsSource = database.Database.SqlQuery<View_Users>(
    "select * from view_users where 1=1"+searchString()).ToList();
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

首先将数据网格视图的选定项转换为数据网格视图的
ItemsSource

dataGridUser.ItemsSource is View_Users ==>
    dataGridUser.ItemsSource = database.Database.SqlQuery<View_Users>(
    "select * from view_users where 1=1"+searchString()).ToList();
                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Delete">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="delete" Width="40"  Click="Delete_Click" Background="#FFD80000">
                            <materialDesign:PackIcon Kind="Delete"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Edit">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="edit" Width="40"  Click="Edit_Click" Background="#FF673AB7">
                            <materialDesign:PackIcon Kind="Edit"  Width="25" Margin="-10,0,0,0" FontWeight="Bold"></materialDesign:PackIcon>
                        </Button>

                    </DataTemplate>

                </DataGridTemplateColumn.CellTemplate>


            </DataGridTemplateColumn>

            <!--<DataGridTextColumn Width="300" Binding="{Binding [2]}" Header="Price"></DataGridTextColumn>-->
        </DataGrid.Columns>


告诉我怎么做?您已经将DataGrid绑定到ItemSource,ItemSource的元素有一个id字段,因此您可以读取对象的id字段。告诉我怎么做?您已经将DataGrid绑定到ItemSource,ItemSource的元素有一个id字段,因此,您可以读取对象的id字段。您会得到什么异常?异常:System.NullReferenceException只需将您的类替换为绑定到网格的对象类型。您会得到什么异常?异常:System.NullReferenceException只需将您的类替换为绑定到网格的对象类型。只需设置MaxWidth=“0”从要隐藏的列中获取值必须设置MaxWidth=“0”从要隐藏的列中获取值