我在 WPF 应用程序中使用数据网格。以下是我的 XAML 代码
<DataGrid x:Name="dgTest" HorizontalAlignment="Left" Height="296" Margin="184,115,0,0" VerticalAlignment="Top" Width="599" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Title" Width="60" Binding="{Binding title}" />
<DataGridTextColumn Header="Artist" Width="*" Binding="{Binding artist}"/>
<DataGridTextColumn Header="Value" Width="*" Binding="{Binding number}"/>
<DataGridCheckBoxColumn Header="test" Width="*" Binding="{Binding test}"/>
</DataGrid.Columns>
</DataGrid>
以下是我的 C# 代码
public partial class MainWindow : Window
{
public ObservableCollection<Track> data = new ObservableCollection<Track>();
public MainWindow()
{
InitializeComponent();
data.Add(new Track() { title = "Think", artist = "Aretha Franklin", number = 7, test=true });
data.Add(new Track() { title = "Minnie The Moocher", artist = "Cab Calloway", number = 9, test = true });
data.Add(new Track() { title = "Shake A Tail Feather", artist = "Ray Charles", number = 4, test = true });
dgTest.ItemsSource = data;
}
}
public class Track
{
private String _t;
private String _a;
private int _n;
private bool _fg;
public String title
{
get { return _t; }
set { _t = value; }
}
public String artist
{
get { return _a; }
set { _a = value; }
}
public int number
{
get { return _n; }
set { _n = value; }
}
public bool test
{
get { return _fg; }
set { _fg = value; }
}
}
当我启动应用程序时导入数据,但如果我在任何单元格中进行更改,则不会提交更改,因为当我尝试从 datagrid 读取数据时,它仍然显示旧数据。当用户更改数据网格中的字段时,如何提交更改?