[英]How do you create an element programmatically from a data template defined in XAML?
[英]How do you create box for each element of array automatically in xaml?
我一直在想-如何在xaml中为数组的每个元素自动创建框? 可以说我的代码的数组总共包含99个元素,我希望每个元素都包含这个50px * 50px的小框。 当然,我不认为正确的方法是另外创建99个小盒子并将它们分配给数组。
到目前为止,我已经研究了数据绑定和ItemsControl,但是找不到足够好的示例供我遵循。
string[] assignments = new string[] { "A", "B", "C", "D", "E", "F" };
Random rnd = new Random();
string[] randomingArray = assignments.OrderBy(x => rnd.Next()).ToArray();
string repeatNumber = "";
for (int i = 1; i < 100; i++)
{
if (i == 9)
{
repeatNumber = randomingArray[i % randomingArray.Length];
Console.WriteLine(repeatNumber);
}
else if ((i % 9) == 0)
{
Console.WriteLine(repeatNumber);
}
else
{
Console.WriteLine(randomingArray[i % randomingArray.Length]);
}
}
我该怎么做呢?
我会说尝试更基本的WPF教程。 我建议也看一些MVVM教程。 现在请看下面的代码。
<Grid>
<ListBox x:Name="ItemsControl1" >
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Aqua" BorderThickness="2" Width="Auto" Height="Auto" >
<TextBlock Text="{Binding}" Margin="10"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ItemsControl1.ItemsSource = new string[] { "A", "B", "C", "D" };
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.