저는 WPF에 익숙하지 않고 최대 7 회까지 도달 할 때마다 특정 컨트롤로 폼을 확장하는 컨트롤을 만들려고합니다. https://i.imgur.com/50tzCSy.pngWPF - 버튼을 눌러 컨트롤/전체 격자를 복제하는 방법?
<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