从Datagrid Textbox读取

时间:2013-08-16 08:34:34

标签: c# wpf

我有一个Datagrid,其中有3列,两列的值从数据库中获取并填充,而第三列是用户输入值的文本框。我必须将此值保存到数据库中。我在这里面临一些问题。 当我在UI中输入值时,它在后台代码中显示为null。我做错了什么?

   <DataGrid AutoGenerateColumns="False" Height="233" Name="dataGrid1" Width="360" > 
   <DataGrid.Columns>

     <DataGridTextColumn Header="x" Binding="{Binding Path=x}" Width="120" IsReadOnly="True" />
   <DataGridTextColumn Header="y" Binding="{Binding Path=y}" Width="120"  IsReadOnly="True"/>
    <DataGridTextColumn Header="Value/Ref" Width="120" Binding="{Binding Path=z, Mode=TwoWay}"  IsReadOnly="False" />

     </DataGrid.Columns>

我有一个包含变量x,y,z的类。我正在创建一个类的列表,并尝试将值添加到类

1 个答案:

答案 0 :(得分:0)

使用您的XAML代码和这个简单的代码片段,行为就像您想要的(我理解):

class A
    {
        private string _x, _y, _z;

        public string x { get { return _x; } set { _x = value; } }
        public string y { get { return _y; } set { _y = value; } }
        public string z { get { return _z; } set { _z = value; } }
    }

public partial class MainWindow : Window
    {
        private List<A> myData;

        public MainWindow()
        {
            InitializeComponent();

            myData = new List<A>();
            myData.Add(new A() { x = "x1", y = "y1" });
            myData.Add(new A() { x = "x2", y = "y2" });
            myData.Add(new A() { x = "x3", y = "y3" });

            dataGrid1.ItemsSource = myData;
        }
    }

如果您在Value / Ref列中输入任何数据,则后面的List肯定会更新。