C# 更改单元格绑定值并更新Datagrid
我想更改特定行的单元格绑定值。我已经用Name和Code属性绑定了值。假设选择了第一行。在CurruntCellChange事件中,我想将该特定行中Name属性的值更改为“1”。我已经编写代码更改为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
((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");
}
}