私はWPFの初心者です。最大7時間に達するまで、特定のコントロールを使用してフォームを展開するコントロールを作成しようとしています。WPF - ボタンを押してコントロール/グリッド全体を複製する方法は?
これは形式です: https://i.imgur.com/50tzCSy.png
<Border Padding="10">
<StackPanel>
<TextBlock Text="Insert a file or expand to insert more file at once." Margin="0 10"/>
<!-- Add File -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="4*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="File Name:" FontWeight="Bold" Margin="0 10" />
<TextBox Grid.Column="1" Height="20" Margin="10 0 0 0" />
<Button Grid.Column="2" Content="Test" Height="20" Width="50" />
</Grid>
<ItemsControl ItemsSource="{Binding AllChildren}" ItemTemplate="{StaticResource ChildTemplate}" />
<!-- Buttons -->
<Grid Margin="0 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Margin="0 0 10 0" Content="Save" />
<Button Grid.Column="1" Content="Expand" Grid.ColumnSpan="2" Margin="0.2,0,123.6,0.2" Click="Button_Click" />
<Button Grid.Column="2" Margin="10 0 0 0" Content="Cancel" />
</Grid>
</StackPanel>
</Border>
私はそれが7つの重複の最大値に達するまで、グリッドを複製してみてください。
どのようにボタンイベントハンドラコードでこれを行うのですか?
は 'UserControl'や' DataTemplate'としてあなたのグリッドを設定し、( 'StackPanel'または' ListView'など)パネルに入れて'ObservableCollection'にバインドすることができます。ボタンを押すと、ObservableCollectionに要素を追加するだけです。 – Bob