<DataGrid ItemsSource="{Binding}" x:Name="DataGrid1" Grid.Row="0" FontSize="12" HorizontalAlignment="Left" Margin="20,40,0,0" VerticalAlignment="Top" Height="172" Width="353" />
将DataGrid命名为DataGrid1,给后面调用的时候使用。
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using DevExpress.Mvvm.Native;
using NationalInstruments.Restricted;
using UserControl = System.Windows.Controls.UserControl;
namespace WPFdemos.view
{
/// <summary>
/// paramCheck.xaml 的交互逻辑
/// </summary>
public partial class paramCheck : UserControl
{
private double[] ul = new double[] { 20, 60, 200, 100 };
private int[] mm =new int[] {120,150,200,400};
private double[] ul2 = new double[] {1.00,2.00 };
private int[] mm2 = new int[] { 4,8 };
public paramCheck()
{
InitializeComponent();
dt1.Columns.Add(new DataColumn("体 积 ( ul )"));
dt1.Columns.Add(new DataColumn("距 离 ( mm )"));
DataRow dr;
for (int i = 0; i < ul.Length; i++)
{
dr = dt1.NewRow();
dr[0] = ul[i].ToString("0.00");
dr[1] = mm[i].ToString();
dt1.Rows.Add(dr);
}
DataGrid1.ItemsSource = dt1.DefaultView;//将dt1赋给DataGrid1
}
private DataTable dt1 = new DataTable();
private DataTable dt2 = new DataTable();
//给控件添加列
private void Button_Click(object sender, RoutedEventArgs e)
{
DataRow dr = dt1.NewRow();
for (int columIndex = 0; columIndex < dt1.Columns.Count; columIndex++)
dr[columIndex] = "New Row - " + columIndex.ToString();
dt1.Rows.Add(dr);
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
DataRowView dwView = (DataGrid1.SelectedItem) as DataRowView;//当前选中列
if (dwView != null)
{
dwView.Delete();//删除选中列
}
}
}
}
多说一句DataGrid获取当前行,
如果是在点击DataGrid或者其他与DataGrid相关的方法里,可以尝试这样做:
DataRowView dwView = ((((System.Windows.Controls.DataGrid)DataGrid1).SelectedItem) as DataRowView);
这里,datatable的列宽我不知道怎么修改。只能用笨办法tab撑宽列宽。如果有小伙伴有好方法,请分享给我,谢谢。