如何在stackpanel中的列中心放置一个按钮

时间:2014-05-26 08:35:22

标签: c# .net silverlight grid stackpanel

我是c#silverligth开发者。 我有一个包含1行和3列的网格。在每个列的内部我有一个stackpanel,在该stackpanel上我显示文本块。我这样做是因为它看起来不错,我有更多的空间,我可以在1中显示多于1个项目使用此堆栈面板的网格单元格。 我这样做的代码是:

TextBlock txtblkLabel = new TextBlock();
txtblkLabel.Text = param.Label;
StackPanel sp1 = new StackPanel();
sp1.Orientation = Orientation.Horizontal;
sp1.Children.Add(txtblkLabel);
sp1.Width = 50;
sp1.Height = 50;

Grid.SetRow(sp1, LoopCount);
Grid.SetColumn(sp1, 2);
g.Children.Add(sp1);

现在显示屏位于左上方,但我想将此文本显示在中心位置。

如何在c#代码中实现它(不是xaml)?

2 个答案:

答案 0 :(得分:1)

您不能在StackPanel的中间对齐控件。 StackPanel并不意味着将控件置于其中心。它意味着将控件堆叠在其中,即一个接一个。

您可以使用TextBlock填充StackPanel,也可以使文本居中,也可以使用另一个Grid而不是StackPanel或其他解决方案......

答案 1 :(得分:1)

你可以试试这个,

   txtblkLabel.VerticalAlignment = System.Windows.VerticalAlignment.Center;
   txtblkLabel.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
   txtblkLabel.TextAlignment = System.Windows.TextAlignment.Center;