我想知道如何以编程方式设置文本块的页边距?我有一个字符串列表,我想分配给每个文本块,并对每个文本块进行动画处理,并在每个文本块之间留一个间距。刚才,所有文本块都在同一行上,因此我无法弄清文本的含义。

foreach (var i in item.Items)
{
    TextBlock tb = new TextBlock();
    tb.Height = 50;
    tb.Width = 900;
    tb.Text = i.Title + "\n";

    SlideDown(tb);
    canvas.Children.Add(tb);
}

public void SlideDown(FrameworkElement uc)
{
    ThicknessAnimation tAnimation = new ThicknessAnimation();
    tAnimation.Duration = new Duration(TimeSpan.FromSeconds(5.0));
    tAnimation.From = new Thickness(0,0,0,0);
    tAnimation.To = new Thickness(0, 500, 0, 500);
    Storyboard.SetTarget(tAnimation, uc);
    Storyboard.SetTargetProperty(tAnimation, new PropertyPath(FrameworkElement.MarginProperty));
    Storyboard storyboard = new Storyboard();
    storyboard.Children.Add(tAnimation);
    storyboard.Begin(uc);
}

最佳答案

您可以像这样设置Margin属性:

  double left = 1, top = 2, right = 3, bottom = 4;
  textBlock.Margin = new Thickness(left, top, right, bottom);

或者,您可以指定一个适用于以上所有条件的值:
  double all = 5;
  textBlock.Margin = new Thickness(all);

关于c# - 以编程方式设置文本块边距,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9707753/

10-13 05:53