0

私は 3 つの列がある Datagrid を持っています。2 つの列の値はデータベースから取得されて入力されますが、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 を含むクラスがあります。クラスのリストを作成し、クラスに値を追加しようとしています

4

1 に答える 1

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 Behind が確実に更新されます。

于 2013-08-16T11:39:16.453 に答える