我已经尝试了几个小时但是我无法在datagrid中编辑列数量,每当我这样做时都会给我一个错误说
未处理的类型' System.InvalidOperationException'发生在PresentationFramework.dll中 其他信息:' EditItem'此视图不允许使用。
我的xaml代码是
List<AddItem> DATA = new List<AddItem>()
{
new AddItem()
{
ItemName = ItemName.Text.ToString(),
ItemPrice = float.Parse(ItemPrice.Text.ToString()),
Quantity = quantity.Text,
TotalPrice = CalculateTotalPrice()
}
};
DataGrid1.Items.Add(DATA);
public class AddItem
{
public string ItemName { get; set; }
public float ItemPrice { get; set; }
public string Price { get; set; }
public string Quantity { get; set; }
public decimal TotalPrice { get; set; }
}
这里是C#代码
with open("sample.txt","r") as f:
list_1 = []
list_2 = []
fulllist = []
for x in f.readlines():
x = x.split("\n")[0]
fulllist.append(x)
print fulllist
start_position = fulllist.index('start')
middle_position = fulllist.index('middle')
end_position = fulllist.index('end')
list_1 = fulllist[start_position+1 :middle_position]
list_2 = fulllist[middle_position+1 :end_position]
print "list1 : ",list_1
print "list2 : ",list_2
我哪里错了?我试过可观察的收藏还没有解决方案吗? 任何帮助将不胜感激。
答案 0 :(得分:3)
将List<AddItem>
列表分配给ItemSource
而不是Add
,如下所示:
使用
DataGrid1.ItemsSource = DATA;
而不是
DataGrid1.Items.Add(DATA);
您的代码的其他改进:
decimal
类型所有价格(始终)int
类型作为数量,因为数量代表数字