如何在 C# WPF 应用程序中加载窗口时将文本框插入网格
本文关键字:文本 网格 插入 窗口 加载 WPF 应用程序 | 更新日期: 2023-09-27 18:26:32
private void Window_Loaded(object sender, RoutedEventArgs e)
{
for (int i = 0; i <= 7; i++)
{
ColumnDefinition clDef = new ColumnDefinition();
RowDefinition rwDef = new RowDefinition();
clDef.MinWidth = 40;
clDef.MaxWidth = 40;
rwDef.MinHeight = 32;
rwDef.MaxHeight = 32;
grdAdtn.ColumnDefinitions.Add(clDef);
grdAdtn.RowDefinitions.Add(rwDef);
};
TextBox[,] fields=new TextBox[8,8];
for(int i=0;i<=7;i++){
for(int j=0;j<=7;j++){
fields[i,j]=new TextBox();
fields[i, j].Text = "test";
fields[i, j].Width = 40;
fields[i, j].Height = 32;
fields[i, j].Visibility = Visibility.Visible;
//Grid.SetColumn(fields[i, j], i);
}
}
}
有了这个,我设法将行和列添加到网格,但我在网格字段中看不到文本框。我需要制作一个文本框数组,以便以后可以访问它们,我不知道如何在 Visual Studio 编辑器中制作控件数组,所以我尝试在应用程序运行时制作数组。对不起,英语不好。
在注释
掉 SetColumn 的地方,您需要以下三行:
grdAdtn.Children.Add(fields[i,j]);
Grid.SetColumn(fields[i,j], i);
Grid.SetRow(fields[i,j], j);
所以你走在正确的轨道上,你只是没有将文本框添加到设计中 - 你所做的只是创建它们并尝试设置列属性。
另请注意,最好避免使用单个字母变量 - 例如,row 和 col 会使其更易于阅读。
可能还有另一种方法可以整体解决问题,但这会使您的代码正常工作