【发布时间】:2014-05-29 05:29:01
【问题描述】:
我一直在搜索许多博客以找到。如何在网格单元格中动态创建列表框。我想在该 Grid 列中水平添加列表框项目。例如,我想在该列中显示工作日意味着,我有 XAML 中的代码来执行此操作。
<ListBox SelectionMode="Multiple" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Margin="0,0,10,0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBoxItem> Mon </ListBoxItem>
<ListBoxItem> Tue </ListBoxItem>
<ListBoxItem> Wed </ListBoxItem>
<ListBoxItem> Thu </ListBoxItem>
<ListBoxItem> Fri </ListBoxItem>
</ListBox>
但我不知道如何在动态中创建相同的内容。我有一个按钮,如果我单击该按钮,它应该创建一列中包含项目的列表框。如果再次单击该按钮,它应该在该网格的下一行创建另一个列表框。
这是我的代码。
public int i=0;
private void Button_Click(object sender, RoutedEventArgs e)
{
RowDefinition row0 = new RowDefinition();
row0.Height = new GridLength(40);
grid1.RowDefinitions.Add(row0);
ColumnDefinition col0 = new ColumnDefinition();
col0.Width = new GridLength(150);
grid1.ColumnDefinitions.Add(col0);
Listbox lb=new Listbox();
?
?
Grid.SetRow(?, i);
Grid.SetColumn(?, 0);
i++;
}
【问题讨论】:
-
This blog 有一个使用 ItemsControl 的好例子。您也可以将相同的技术应用于 ListBox。
-
我想要动态创建的示例代码