c# - 将数据输入到WPF C#中的上一行控件后,如何动态添加控件行?
问题描述
我正在做一个在运行时为数据库创建表的项目。我的第一行看起来像这样
但是从上一行输入后,我需要添加更多行。就像在 Visual Studio 中创建表一样,它在我们完成输入前一行或输入后添加行。我不知道这是否是一个简单的任务。我想我必须创建一个事件监听器。或类似的。
这是我的 XAML 代码
<StackPanel Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="4" Margin="20 0 0 0">
<Grid
x:Name="FieldsLineUpGrid"
TextElement.FontSize="{Binding Value, ElementName=FontSizeSlider}"
IsEnabled="{Binding IsChecked, ElementName=IsEnabledCheckBox}"
HorizontalAlignment="Left">
<Grid.Resources>
<Style x:Key="StyleHeader" TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignCaptionTextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Margin" Value="10 0" />
<Setter Property="Opacity" Value="0.56" />
</Style>
<Style x:Key="FieldHeader" TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignCaptionTextBlock}">
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="Margin" Value="0 6" />
<Setter Property="Opacity" Value="0.56" />
</Style>
<Style x:Key="NotAvailable" TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignCaptionTextBlock}">
<Setter Property="Text" Value="N/A" />
<Setter Property="Opacity" Value="0.24" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Grid.Row="0" Style="{StaticResource FieldHeader}" Text="Name" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="2" Grid.Row="0" Style="{StaticResource FieldHeader}" Text="Data Type" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="3" Grid.Row="0" Style="{StaticResource FieldHeader}" Text="Allow Nulls" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="4" Grid.Row="0" Style="{StaticResource FieldHeader}" Text="Default" HorizontalAlignment="Left"/>
<TextBox
Grid.Column="1" Margin="0 0 10 0"
Grid.Row="1" MinWidth="160"/>
<TextBox
Grid.Column="1" Margin="0 0 10 0"
Grid.Row="2" MinWidth="100"/>
<ComboBox
Grid.Column="2"
Grid.Row="1" MinWidth="100"/>
<ComboBox
Grid.Column="2"
Grid.Row="2" />
<CheckBox
Grid.Column="3" VerticalAlignment="Bottom" HorizontalAlignment="Center"
Grid.Row="1" />
<CheckBox
Grid.Column="3" VerticalAlignment="Bottom" HorizontalAlignment="Center"
Grid.Row="2"/>
<TextBox
Grid.Column="4" Margin="10 0 0 0"
Grid.Row="1" MinWidth="100"/>
<TextBox
Grid.Column="4" Margin="10 0 0 0"
Grid.Row="2" />
</Grid>
</StackPanel>
我怎样才能实现它
解决方案
推荐阅读
- javascript - 列搜索后如何将所有DataTable的数据存储在javascript数组中?
- javascript - 对于滚动同步元素,每个轴仅显示一个滚动条
- multithreading - 如何用多线程处理foreach?
- excel - 如果在多个列上重复,则删除行
- python - 使用 selenium 和 python 自动下载 .csr 文件
- oracle - SQL*Loader-522:lfiopn 因文件错误而失败
- java - JPA - 复合键识别中的关系
- python-3.x - 在pycharm中调试时出现“ModuleNotFoundError”
- postgresql - 与 postgresql 中的 btree 索引相比,brin 索引在非时态数据上的表现如何?
- react-native - React Native 将数据传递给同一文件上的另一个组件