我现在有一个数据网格设置,它填充了一个类对象列表。我需要能够单击datagrid的单个单元格,编辑一个数字,然后单击一个提交按钮,将数据更改保存到适当的位置。
现在我不知道如何从数据网格中获取字符串。我试着找一个解决方案而找不到任何解释它的东西。在此先感谢。!
答案 0 :(得分:2)
创建一个类:
public class MyDetails
{
private string firstName;
public string FirstName
{
get { return firstName; }
set
{
firstName = value;
OnPropertyChange("FirstName");
}
}
private string lastName;
public string LastName
{
get { return lastName; }
set
{
lastName = value;
OnPropertyChange("LastName");
}
}
}
现在创建一个集合,您可以在其中将数据添加到ViewModel类中,如下所示:
private ObservableCollection<MyDetails> myCollection;
public ObservableCollection<MyDetails> MyCollection
{
get { return myCollection; }
set { myCollection = value; }
}
现在,将数据添加到上面的集合中,数据将反映在网格中。
现在,转到.XAML文件并编写如下所示的创建数据网格:
将Datagrid的列设置为UpdateSourceTrigger=LostFocus
和Mode=TwoWay
,如下所示:
<Grid>
<StackPanel>
<DataGrid HeadersVisibility="None" ColumnWidth="*" ItemsSource="{Binding MyCollection}">
<DataGrid.Columns>
<DataGridTextColumn Header="First Name" Binding="{Binding FirstName, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"/>
<DataGridTextColumn Header="Last Name" Binding="{Binding LastName, Mode=TwoWay, UpdateSourceTrigger=LostFocus}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Grid>
添加,你的按钮到.xaml绑定到命令和写入方法,用于将数据保存到viewModel。