C# 更改单元格绑定值并更新Datagrid

C# 更改单元格绑定值并更新Datagrid,c#,wpf,datagrid,C#,Wpf,Datagrid,我想更改特定行的单元格绑定值。我已经用Name和Code属性绑定了值。假设选择了第一行。在CurruntCellChange事件中,我想将该特定行中Name属性的值更改为“1”。我已经编写代码更改为((Item)Datagrid.Items[rowIndex])。Name=“1”但更改不会反映 <DataGrid DataGridCell.Selected="DataGrid_GotFocus" SelectionUnit="Cell" Selec

我想更改特定行的单元格绑定值。我已经用Name和Code属性绑定了值。假设选择了第一行。在CurruntCellChange事件中,我想将该特定行中Name属性的值更改为“1”。我已经编写代码更改为
((Item)Datagrid.Items[rowIndex])。Name=“1”但更改不会反映

<DataGrid  DataGridCell.Selected="DataGrid_GotFocus" SelectionUnit="Cell" 
                   SelectionMode="Single" Name="Datagrid"  AutoGenerateColumns="False" 
                   PreviewKeyDown="Datagrid_PreviewKeyDown" 
                   CurrentCellChanged="Datagrid_CurrentCellChanged" SelectionChanged="Datagrid_SelectionChanged" SelectedCellsChanged="Datagrid_SelectedCellsChanged">

            <DataGrid.Columns>

                <DataGridTextColumn Header="Code" Width="1*" Binding="{Binding Code, Mode=TwoWay}"/>
                <DataGridTextColumn Header="Name" Width="1*" Binding="{Binding Name, Mode=TwoWay}"/>
            </DataGrid.Columns>
        </DataGrid>
名称属性:

namespace Inventory_Control.Classes
{
    class Item
    {
        public string Id { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string Quantity { get; set; }
        public string UnitPrice { get; set; }
        public string SubTotal { get; set; }
        public string Category { get; set; }
        public string Type { get; set; }
        public string Location { get; set; }
    }
}

您需要在
类中实现INotifyPropertyChanged 然后在你的

public string Name { get; set; }
设置时,需要引发“属性已更改”事件

要实现
INotifyPropertyChanged
您需要在类中实现此接口,下面是它的最简单实现

public event PropertyChangedEventHandler;

private void NotifyPropertyChanged(String propertyName = "")
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
然后您的
名称
属性看起来像

private string name;

public string Name
    {
        get { return name; }
        set
        {
            name = value;
            NotifyPropertyChanged("Name");
        }
    }

向我们显示您的名称属性的代码?好的,请稍候minute@Muds请检查更新的代码,阅读WPF中更新的用户界面,notifyproperty更改是绑定世界中通知的基础。请务必阅读相关内容以及依赖项属性和行为
private string name;

public string Name
    {
        get { return name; }
        set
        {
            name = value;
            NotifyPropertyChanged("Name");
        }
    }