簡體   English   中英

WPF中單擊按鈕時創建文本框?

[英]creating textbox when button click in WPF?

我已經搜索了幾個與此相關的stackoverflow線程,但是我在代碼plz中遇到了問題,請查看我的代碼,並告訴我哪里是我被卡住的問題,而不是哪里是我是新來的問題,請幫幫我

 public partial class MainWindow : Window
 {
    Grid MainGrid = new Grid();
    public MainWindow()
    {
       InitializeComponent();
    }
    private void button_Click(object sender, RoutedEventArgs e)
    {
        TextBox dynamicTextBox = new TextBox();
        dynamicTextBox.Text = "Type Partnumber";
        Grid.SetRow(dynamicTextBox, 1);
        Grid.SetColumn(dynamicTextBox, 0);
        this.MainGrid.Children.Add(dynamicTextBox);
    }
  }

通過使用button_Click事件,您可以將動態TextBox添加到MainGrid並且該代碼看起來不錯。 但是問題在於this.MainGrid不在Present UI中,它與動態創建的TextBox相似,因為您已經在后台代碼中定義了它(請參見構造函數Grid MainGrid = new Grid();上方的定義)。

考慮到canContainer是在xaml中定義的畫布,如下所示,

<Canvas Height="319" Margin="0"
        Width="517"
        Name="canContainer"/>

為了克服這個問題,您可以選擇以下任何一種方法。

1.將MainGrid到UI。 它將網格添加到畫布,請記住已經添加到網格的動態文本框。 這意味着代碼應該像這樣->

 this.canContainer.Children.Add(MainGrid);

dynamicTextBoxdynamicTextBox到UI中存在的任何其他父級。

this.canContainer.Children.Add(dynamicTextBox); 

您正在使用此方法,則無需定義和添加MainGrid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM