WPF从网格中删除行

时间:2013-12-31 16:20:46

标签: c# wpf grid

我是WPF的新手,正在使用WPF构建Charting应用程序。我正在动态添加新行,它完美地运行。我在删除行时遇到问题。这是我添加行的代码

RowDefinition newRow = new RowDefinition();
newRow.Name = "ADX";
newRow.Height = new GridLength(1, GridUnitType.Star);
this.chartForm.sciChartControl.ContentGrid.RowDefinitions.Add(newRow);
Grid.SetRow(scs, this.chartForm.sciChartControl.ContentGrid.RowDefinitions.Count - 1);
this.techIndicatorToRowDefinitionMap["ADX"] = newRow;

以及删除Row的代码是

this.chartForm.sciChartControl.ContentGrid.RowDefinitions.Remove(this.techIndicatorToRowDefinitionMap["ADX"]);

当我删除行时,似乎删除了随机行。您能否告诉我是否有更简单的方法来跟踪行并删除它们,或者此代码中是否存在错误。

感谢。

1 个答案:

答案 0 :(得分:3)

您好我认为您的代码正确地删除了RowDefinition但我认为错误的是您还需要删除该行中的Grid的子项

this.chartForm.sciChartControl.ContentGrid.Children.Remove(scs);
this.chartForm.sciChartControl.ContentGrid.RowDefinitions.Remove(this.techIndicatorToRowDefinitionMap["ADX"]);

如果你不删除孩子,RowDefinition将被删除,但是孩子将被转移到另一行。我希望这会给你一个想法。