0
因此,当我双击项目以编辑我的数据网格中的值时,我不断收到错误消息。''EditItem'不允许用于此视图。'当试图编辑DataGrid中的项目时
“EditItem”不允许用于此视图。'
我从来没有遇到过这样之前我不知道去处理这个有什么办法。 是什么导致了这个问题,以及处理这个问题的正确方法是什么,所以我知道将来如何处理它。 我试着在Google上查看它,但它都有列表要做,因为我没有使用列表,我无法看到与我的应用程序的连接。
XAML
<DataGrid Name="dgItems">
<DataGrid.Columns>
<DataGridTextColumn Header="Property" Binding="{Binding Property}" />
<DataGridTextColumn Header="Value" Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
CS
private void btnStart_Click(object sender, RoutedEventArgs e)
{
string path = "";
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Properties | *.properties";
if (ofd.ShowDialog() == true)
{
path = ofd.FileName;
}
using (StreamReader sr = new StreamReader(path))
{
string line;
while ((line = sr.ReadLine()) != null)
{
if (!line.StartsWith("#"))
{
string[] lines = line.Split('=');
string property = lines[0];
string value = lines[1];
this.dgItems.Items.Add(new ServerProperties { Property = property, Value = value });
Debug.Print($"Property: {property} Value: {value}");
}
}
}
}
我的班级是得到&设置值
public class ServerProperties
{
public string Property { get; set; }
public string Value { get; set; }
}
哦,这样的话datagrids是如何工作的!您需要用列表填充它们,然后您可以更改该列表!这就说得通了! –
但是接下来就存在保存新值的问题有没有什么事情可以改变,我可以随时玩耍? –
当一个属性被设置为一个新值时,它的setter被调用。所以你可以随心所欲,例如举办一个活动。 – mm8