1

如何以编程方式将 N 个元素添加到 WP7 控件,使它们彼此位于下方(目前我将所有元素放在一个地方并且它们相互重叠)?

//this code N times
TextBlock block = new TextBlock();
block.Text = message.Body;
ContentPanel.Children.Add(block);
4

3 回答 3

1

创建一个 StackPanel 并将您的控件添加到其中。

http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx

于 2012-08-09T22:37:19.553 回答
1

这里的基本问题是你要添加的元素的 x 和 y 坐标都是一样的。因此,它们都集中在一个地方。由于网格布局不考虑这一点。

这个问题的答案是使用stackpanel或者单独定义uielement.margin;价值。边距基本上是一个厚度元素。我遇到了同样的问题,但后来利用更改元素的 x 和 y 坐标。我用了 uielement.margin.left=previousUiElement.margin.left+6; uielement.margin.top=previousUiElement.margin.top+36;

无论您的要求是什么,都可以更改 6。

于 2012-08-10T17:24:02.567 回答
0
private Ellipse GenerateEllipse()
{
    Ellipse element = new Ellipse();
    element.Fill = new SolidColorBrush(Colors.White);
    element.Height = 8.0;
    element.Width = 8.0;
    this.ContentPanel.Children.Add(element);
    return element;
}

之后如何在for循环中调用该方法。

希望这可以帮助。

于 2012-08-10T09:18:22.043 回答