使用数据库记录填充按钮中的文本块
本文关键字:文本 按钮 填充 数据库 记录 | 更新日期: 2023-09-27 18:33:40
假设我的数据库表中有 10 行。我想创建 10 个 Button
秒,并在填充数据行的 Button
秒内创建TextBlock
。我已经创建了 10 个Button
s,其中TextBlock
是代码
for (int i = 0; i < 10; i++)
{
Button Btn = new Button();
Style style = this.FindResource("MetroNewButton") as Style;
Btn.Style = style;
Btn.Width = 250;
Btn.Height = 80;
Btn.Name = "BtnCA" + i;
Btn.FlowDirection = FlowDirection.LeftToRight;
Btn.HorizontalAlignment = HorizontalAlignment.Left;
Btn.VerticalAlignment = VerticalAlignment.Top;
for (int j = 0; j < 10; j++)
{
Grid GridContent = new Grid();
GridContent.Width = 250;
GridContent.Height = 80;
TextBlock txtBlock = new TextBlock();
txtBlock.Name = "txtBlock" + j;
txtBlock.TextWrapping = TextWrapping.Wrap;
txtBlock.FontSize = 14;
txtBlock.FontWeight = FontWeights.Bold;
//txtBlock1.FlowDirection = FlowDirection.RightToLeft;
txtBlock.Padding = new Thickness(10, 20, 0, 0);
txtBlock.VerticalAlignment = VerticalAlignment.Top;
Grid.SetRow(txtBlock, 0);
GridContent.Children.Add(txtBlock);
Btn.Content = GridContent;
}
}
好的,我有列表携带来自数据库的数据。我想将数据分发到文本块,那么如何将数据放入文本块?
我认为
,将ItemsControl与适当的ItemTemplate一起使用比在for循环中创建所有控件更好。只需创建一个表示数据的对象列表,将其绑定到 ItemsCOntrol(ItemsSource={Binding your_path}),并为网格设置适当的项模板。之后,将项目控件放在按钮内。如果我理解正确,那应该可以解决你的问题。
您可以使用 XAML
和 MVVM binding
创建按钮,而不是使用此for
循环。
<DataGrid ItemsSource="{Binding btnList}">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="{Binding btn_NAME}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
然后从db
获取内容并将其填充到btnList
中。
要了解有关MVVM binding
的更多信息,请浏览这个和这个。