2012-08-09 87 views
-3

所以,我有: 文本框和按钮添加新行,到数据网格后

我怎样才能在DataGrid中添加新的价值?

例如 TextBox.Text = “样本文本”

我点击按钮,数据网格

sample text

输入文本框sample text 2

并点击按钮,然后

dataGrid:

sample text

sample text 2

等等

请帮助!

+1

1.绑定到字符串列表。 2.添加到该列表。 3.完成。 – 2012-08-09 12:57:45

+3

请问你的问题是否清楚,你提问的方式不符合风格 – 2012-08-09 12:59:41

+1

根据问题和格式的内容,我想你现在试着通过一些考试,是不是?这种情况是,你没有付出任何努力来构建问题,也没有自己解决问题(这是微不足道的) – 2012-08-09 13:05:23

回答

0

假设你有一个DataGrid,一个文本框和一个按钮,你在XAML窗口,在代码隐藏:

ObservableCollection<string> list = new ObservableCollection<string>(); 
    public Window() 
    { 
     InitializeComponent(); 
     datagrid1.ItemsSource = list; 

    } 
    private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     list.Add(textBox1.Text); 
    } 
0

你对你的DataGrid到的ObservableCollection的的ItemsSource绑定。 然后,如果你点击按钮只是做那样的事情

myitemssource.add(new myitemtype());

在一个非常简单的情况下

public partial class TestWindow : Window 
{ 
    public TestWindow() 
    { 
     InitializeComponent(); 
     DataContext = this; 
    } 

    ObservableCollection<Person> _persons; 
    public ObservableCollection<Person> Persons 
    { 
     get { return _persons ?? (_persons = new ObservableCollection<Person>()); } 
     set { _persons = value; } 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     var split = txtBox.Text.Split(' '); 
     try 
     { 
      Persons.Add(new Person() { FirstName = split[0], LastName = split[1], Age = Int32.Parse(split[2]) }); 
     } 
     catch (IndexOutOfRangeException) 
     { 
     } 
     catch (FormatException) 
     { 
     } 
    } 
} 

public class Person 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public int Age { get; set; } 
} 

<Window x:Class="ItemsControlTest.TestWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="TestWindow" Height="300" Width="300"> 
<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="auto"/> 
    </Grid.ColumnDefinitions> 
    <TextBox Name="txtBox" Text="Firstname lastname 10"/> 
    <Button Grid.Column="1" Click="Button_Click" Content="click me"/> 

    <DataGrid Grid.Row="1" Grid.ColumnSpan="2" ItemsSource="{Binding Path=Persons}"> 

    </DataGrid> 
</Grid> 

相关问题