Мне нужно вставить UIElements в сетку, которая не генерируется до времени исполнения. В частности, мне нужно добавить UIElements в создаваемые RowDefinitions после определения количества элементов, которые нужно отобразить. Есть ли способ обойти Grid.Row и Grid.Column и Grid.RowSpan, как в XAML для объектов на C#? Если я собираюсь сделать это неправильно, пожалуйста, дайте мне знать. Я не могу использовать StackPanel (я создаю динамическую панель гармоник, и это связано с анимацией).Динамическая сетка в Silverlight 2 с использованием C#
В настоящее время происходит то, что я генерирую количество RowDefinitions во время выполнения и добавляю UIElements в качестве дочерних элементов. Это не работает, все UIElements попадают в первую строку, расположенную поверх друг друга.
Вот пример того, что я пытаюсь:
public partial class Page : UserControl
{
string[] _names = new string[] { "one", "two", "three" };
public Page()
{
InitializeComponent();
BuildGrid();
}
public void BuildGrid()
{
LayoutRoot.ShowGridLines = true;
foreach (string s in _names)
{
LayoutRoot.RowDefinitions.Add(new RowDefinition());
LayoutRoot.Children.Add(new Button());
}
}
}
Спасибо!
Вот что я первоначально пытался, но не реальный способ сделать это, что я знаю. RowDefinitions - довольно простые классы из того, что я могу сказать. – Steve