如何在wpf中的datagrid的右侧添加一个按钮列

时间:2017-08-21 07:32:34

标签: c# wpf xaml datagrid

我是WPF的新手

我有一个数据网格来显示数据库中的一些数据。我想在数据网格的右侧有一列用于显示按钮。

<DataGrid x:Name="DG_search_by_device" ColumnWidth="*" CanUserAddRows="False" ItemsSource="{Binding}">
                                        <DataGrid.Columns>
                                            <DataGridTemplateColumn>
                                                <DataGridTemplateColumn.CellTemplate>
                                                    <DataTemplate>
                                                        <StackPanel Orientation="Horizontal">
                                                            <Button x:Name="btn_serch_device_History" Content="History"></Button>
                                                            <Button x:Name="btn_search_device_Details" Content="Details"></Button>
                                                        </StackPanel>
                                                    </DataTemplate>
                                                </DataGridTemplateColumn.CellTemplate>
                                            </DataGridTemplateColumn>
                                        </DataGrid.Columns>
                                    </DataGrid>

这就是我在我的xaml代码中所做的。

private void Search_Device_Click(object sender, RoutedEventArgs e)
    {
         DataTable _return;             
        Search_device urlData = new Search_device(int.Parse(Device_ID.Text));
        _return = Calibration.PrepareCommand.Search_by_device(urlData);

        DataView view = new DataView(_return);
        DataTable _data = view.ToTable("Selected", false, "LastCalibratedDate","SensorReplacement");
        _data.Columns["LastCalibratedDate"].ColumnName = "Last Calibrated Date";
        _data.Columns["SensorReplacement"].ColumnName="Sensor replacement";
        try
        {
            if (_data.Rows.Count > 0)
            {
                Nodata.Visibility = Visibility.Hidden;
                DG_search_by_device.Visibility = Visibility.Visible;
                DG_search_by_device.ItemsSource = _data.DefaultView;
            }
            else
            {
                Nodata.Visibility = Visibility.Visible;
                DG_search_by_device.Visibility = Visibility.Hidden;
            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

这是我的cs文件。

我在datagrid的左侧有了按钮。但我需要在右手边。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

处理AutoGeneratedColumns的{​​{1}}事件。

DataGrid