簡體   English   中英

使用 C# 將文本框添加到網格

[英]Add textbox to grid with C#

我對 C# 相當陌生。 我正在嘗試通過單擊按鈕向網格添加文本框。 當我單擊此按鈕時,網格上的所有內容都會消失:

    private void addLine_Click(object sender, System.EventArgs e)
    {
        System.Windows.Controls.TextBox txt = new System.Windows.Controls.TextBox();
        txt.Name = "textBox8";
        dxfLines.Children.Add(txt);
    }

這里也是xaml:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DXFGenerator" Height="350" Width="525" Loaded="Window_Loaded">
    <Grid Name="dxfLines">
        <TextBox Height="23" HorizontalAlignment="Left" Margin="271,94,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
        <Button Content="Generate DXF" Height="23" HorizontalAlignment="Left" Margin="286,194,0,0" Name="button1" VerticalAlignment="Top" Width="84" Click="button1_Click" />
        <Button Content="Add Line" Height="23" HorizontalAlignment="Left" Margin="391,196,0,0" Name="button2" VerticalAlignment="Top" Width="75" Click="addLine_Click" />
    </Grid>
</Window>

如果您使用網格,則需要定義行和列。 您的 xaml 應如下所示:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DXFGenerator" Height="350" Width="525" Loaded="Window_Loaded">
    <Grid Name="dxfLines" x:FieldModifier="private" >
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <TextBox Height="23" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Grid.Column="2" Grid.Row="4" />
        <Button Content="Generate DXF" Height="23" HorizontalAlignment="Left" Grid.Column="1" Grid.Row="6" VerticalAlignment="Top" Width="84" Click="button1_Click" />
        <Button Content="Add Line" Height="23" HorizontalAlignment="Left"  Grid.Column="2" Grid.Row="6" VerticalAlignment="Top" Width="75" Click="addLine_Click" />
    </Grid>
</Window>

您還需要為要添加的文本框指定行和列,以便網格知道放置文本框的位置。 您的 addLine 單擊的內容應如下所示:

System.Windows.Controls.TextBox txt = new System.Windows.Controls.TextBox();
txt.Name = "textBox8";
Grid.SetColumn(txt,1);
Grid.SetRow(txt, 1);
dxfLines.Children.Add(txt);

此外,請記住,為了添加新的子項,您選擇 Grid 表單而不是 Window 表單。 Window 窗體沒有Children屬性,但是在本例中Grid窗體有它。

暫無
暫無

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

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