如何在xaml中自动为数组的每个元素创建框?

时间:2017-11-06 17:30:13

标签: c# .net arrays wpf 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]);
      }

 }

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我想说尝试更基本的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" };
    }
}