Мне интересно, как можно использовать привязку данных шаблона для выполнения того, что создает следующий код (сетка флажков с некоторым связанным текстом):
int tbIndex = 0;
for (int i = 1; i < 5; i++) {
StackPanel pan = new StackPanel();
pan.Orientation = Orientation.Horizontal;
pan.Margin = new Thickness(3);
pan.Name = "RowPanel" + i;
for (int j = 0; j < 3; j++) {
CheckBox cb = new CheckBox();
TextBlock block = new TextBlock();
block.Width = 75;
block.Text = "Item " + (++tbIndex).ToString();
pan.Children.Add( cb );
pan.Children.Add( block );
}
ContentPanel.Children.Add( pan );
}
В ASP.NET, например, можно использовать DataList и установить горизонтальное направление повторения и привязать. Есть ли эквивалентный способ, который менее императивен и более декларативен (т. е. сделан заранее с помощью шаблона и с использованием общих средств «привязки данных»)?