我是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"]);
当我删除行时,似乎删除了随机行。您能否告诉我是否有更简单的方法来跟踪行并删除它们,或者此代码中是否存在错误。
感谢。
答案 0 :(得分:3)
您好我认为您的代码正确地删除了RowDefinition但我认为错误的是您还需要删除该行中的Grid的子项
this.chartForm.sciChartControl.ContentGrid.Children.Remove(scs);
this.chartForm.sciChartControl.ContentGrid.RowDefinitions.Remove(this.techIndicatorToRowDefinitionMap["ADX"]);
如果你不删除孩子,RowDefinition将被删除,但是孩子将被转移到另一行。我希望这会给你一个想法。