我有一个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的类。我正在创建一个类的列表,并尝试将值添加到类
答案 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肯定会更新。