如何将StackPanel分配给代码中的特定网格行/列(而不是XAML)?

Sco*_*owe 1 silverlight

鉴于此XAML:

<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="0" Margin="5">
Run Code Online (Sandbox Code Playgroud)

如何在(C#/ VB)代码中分配Grid.Row和Grid.Column属性?

StackPanel stackPanel = new StackPanel();
stackPanel.???
Run Code Online (Sandbox Code Playgroud)

Ant*_*ony 9

我想这就是你想要的:

    MyStackPanel.SetValue(Grid.RowProperty, 1);
    MyStackPanel.SetValue(Grid.ColumnProperty, 2);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


Ric*_*ire 6

您应该能够执行以下操作,其中"myGrid"是Grid控件的名称.

StackPanel stackPanel = new StackPanel();

Grid.SetColumn(stackPanel, 0);
Grid.SetRow(stackPanel, 1);

myGrid.Children.Add(stackPanel);
Run Code Online (Sandbox Code Playgroud)

  • 我实际上查了一下,Grid类上的静态方法实际调用了给定的UIElement的SetValue方法.无论是工作还是工作,都归结为个人偏好. (2认同)