【问题标题】:creating dynamic textbox in wpf according to location根据位置在wpf中创建动态文本框
【发布时间】:2012-08-20 11:21:55
【问题描述】:

我正在尝试在 WPF 中创建动态文本框。非常重要的是,我将能够灵活地确定文本框的位置 - 以像素级别为单位。 我找到了许多使用 stackpanel 创建“运行时”文本框的答案 - 但找不到如何根据指定位置构建它。

文本框必须是“自动换行”,我正在使用按钮单击事件来创建文本框

这是目前的代码,我真的不知道哪些方法或属性会有所帮助。 谢谢:)

 private void button1_Click(object sender, RoutedEventArgs e)
        {
            TextBox x = new TextBox();
            x.Name = "new_textbox";
            x.TextWrapping= TextWrapping.Wrap;
            x.VerticalScrollBarVisibility=ScrollBarVisibility.Visible;
            x.AcceptsReturn = true;
            x.Margin = new Thickness(5, 10, 0, 0);
    }

【问题讨论】:

    标签: c# wpf dynamic textbox controls


    【解决方案1】:
     TextBox x = new TextBox();
     x.Name = "new_textbox";
     x.TextWrapping= TextWrapping.Wrap;
     x.VerticalScrollBarVisibility=ScrollBarVisibility.Visible;
     x.AcceptsReturn = true;
     x.Margin = new Thickness(5, 10, 0, 0);
     HouseCanvas.Children.Add(x);
     Canvas.SetLeft(x, 20);
     Canvas.SetTop(x, 20);
    

    【讨论】:

      【解决方案2】:

      如果您关心文本框本身的像素放置,您可能希望将其放置在 Canvas 中。您需要使用 x.SetValue(Canvas.LeftProperty, pixelX) [和 .RightProperty, etc...] 来获得完全正确的位置。我自己没有这样做,我猜你需要将画布放在正确的 Z 顺序(在顶部),并使其透明。事件也可能存在问题,具体取决于 z 顺序。祝你好运!

      -凯夫

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-09
        • 2020-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-28
        相关资源
        最近更新 更多