【问题标题】:generating textboxes in a Windows Store app在 Windows 应用商店应用程序中生成文本框
【发布时间】:2015-06-02 16:07:14
【问题描述】:

我正在尝试使用按钮在 Windows 商店应用程序中生成文本框,以便生成的每个新文本框(在从文本框恢复其值之后)位于前一个文本框的下方

我试过了

private void addBtn(object sender, RoutedEventArgs {
   int t = 100;
   TextBlock myTextBlock = new TextBlock();
   myGrid.Children.Add(myTextBox);
   myTextBlock.Text = taskTb.Text;
   myTextBlock.Width = 300;
   myTextBlock.Height = 300;
   myTextBlock.FontSize = 25;
   myTextBox.Margin = new Thickness(20,t,100,100);
   t = t + 100;
}

但它不起作用,我在这里缺少什么?

【问题讨论】:

  • 这有什么问题?
  • 文本框位于其他人之上
  • 您是否考虑过将它们放在<StackPanel> 或类似名称中?
  • 只需将 myGrid 换成您的 StackPanel...
  • 停止。马上停下来。扔掉你迄今为止所做的一切。去了解 MVVM 的工作原理。现在重新开始,尝试通过代码添加 UI 元素所花费的时间很少。

标签: c# layout grid windows-store-apps


【解决方案1】:

错误的根本原因是每次你将一个新的TextBox 放在完全相同的位置

变量t在你添加一个新的TextBox时总是0,它不会像你期望的那样递增,你应该将t声明为类的一个字段,而不是作为内部的临时变量方法。

或尝试StackPanel,让StackPanel 为您安排(垂直堆叠)文本框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多