如何以编程方式将 N 个元素添加到 WP7 控件,使它们彼此位于下方(目前我将所有元素放在一个地方并且它们相互重叠)?
//this code N times
TextBlock block = new TextBlock();
block.Text = message.Body;
ContentPanel.Children.Add(block);
如何以编程方式将 N 个元素添加到 WP7 控件,使它们彼此位于下方(目前我将所有元素放在一个地方并且它们相互重叠)?
//this code N times
TextBlock block = new TextBlock();
block.Text = message.Body;
ContentPanel.Children.Add(block);
创建一个 StackPanel 并将您的控件添加到其中。
http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx
这里的基本问题是你要添加的元素的 x 和 y 坐标都是一样的。因此,它们都集中在一个地方。由于网格布局不考虑这一点。
这个问题的答案是使用stackpanel或者单独定义uielement.margin;价值。边距基本上是一个厚度元素。我遇到了同样的问题,但后来利用更改元素的 x 和 y 坐标。我用了 uielement.margin.left=previousUiElement.margin.left+6; uielement.margin.top=previousUiElement.margin.top+36;
无论您的要求是什么,都可以更改 6。
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循环中调用该方法。
希望这可以帮助。