2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以將所有創(chuàng)建的 StackPanel 存儲(chǔ)在列表中。
private void AddLineButton_Click(object sender, RoutedEventArgs e)
{
Create_line();
}
List<StackPanel> items;
private void Create_line()
{
RowDefinition gridRow = new RowDefinition();
gridRow.Height = new GridLength(1, GridUnitType.Star);
beGrid.RowDefinitions.Add(gridRow);
StackPanel stack = new StackPanel();
stack.Orientation = Orientation.Horizontal;
int i = items.Count + 1;
TextBlock textBlock = new TextBlock();
textBlock.Text = "Question";
textBlock.Name = "Test" + i.ToString();
stack.Children.Add(textBlock);
beGrid.Children.Add(stack);
Grid.SetRow(stack, items.Count);
items.Add(stack);
}
您可以通過索引訪問任何以前的面板,例如items[0],并從Children屬性獲取元素:items[0].Children[0] as TextBlock

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
像這樣手動(dòng)創(chuàng)建控件確實(shí)不是 WPF 方式......
最好的方法是定義一個(gè)項(xiàng)目類,其中包含要顯示/編輯的每個(gè)值的屬性。
然后在窗口中創(chuàng)建ObservableCollection
這些項(xiàng)目(因?yàn)槟鷮⒃趩螕舭粹o時(shí)手動(dòng)添加項(xiàng)目),并將其設(shè)置為控件ItemsSource
的屬性ItemsControl
。ADataTemplate
用于定義精確的控件以顯示控件中的每個(gè)項(xiàng)目,該控件將綁定到該項(xiàng)目的屬性。
- 2 回答
- 0 關(guān)注
- 142 瀏覽
添加回答
舉報(bào)