2016-11-04 1 views
1

어떻게 WrapPanel을 복사합니까?WPF 복사 포장 패널

나는 내부에 컨트롤이있는 WrapPanel이있는 창이 있습니다. 내 코드 안에 복사하고 싶습니다. 그래서 같은 창에서 두 개 이상의 정확한 패널을 볼 수 있지만 컨트롤의 이름은 다릅니다.

이 내 XAML 같은 모습입니다 :

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:WpfApplication1" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <StackPanel x:Name="stackPanel" HorizontalAlignment="Left" Height="301" Margin="10,10,0,0" VerticalAlignment="Top" Width="498"> 
     <WrapPanel x:Name="Wrap1" Height="142" Margin="0,0,345.6,0" VerticalAlignment="Top" Width="152"> 
      <Button x:Name="wrap1_button" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75"/> 
      <Button x:Name="wrap1_button1" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75"/> 
      <Label x:Name="wrap1_label" Content="Label" HorizontalAlignment="Left" VerticalAlignment="Top" Width="74"/> 
     </WrapPanel> 
    </StackPanel> 
</Grid> 

내가 wrap2_button, wrap2_button1, wrap2_label 내부 컨트롤 Wrap2라는 이름의 첫 번째 옆에 배치 다른 WrapPanel을 좀하고 싶습니다.

내가 StackPanel의에 삽입하고 같은 일을 시도 :

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 

     WrapPanel Wrap2 = Wrap1; 
     stackPanel.Children.Add(Wrap2); 
    } 
} 

을하지만 일을 나던 ... 한마디로

답변

3

, 당신은 다른 WrapPanel을 만들 수있는 StackPanel에 추가합니다 두 번째 WrapPanel에 자녀를 추가하십시오.

귀하의 반응이 복제물로부터 반동하는 것이면, 그것은 좋은 본능입니다. 이는 재사용을 위해 표준 WPF 컨트롤 그룹을 묶는 방법 인 UserControl의 좋은 사용 사례 일 수 있습니다. 내가 제안 무엇

은 당신이 가지고있는 아이들과 WrapPanel하는 새로운 UserControl가, 다음 창에서 StackPanel에 그 새로운 UserControl의 두 인스턴스를 추가 작성하는 것입니다.

Here은 사용자 지정 컨트롤을 만드는 데 고려해야 할 몇 가지 고려 사항이있는 UserControl 클래스의 설명에 대한 링크입니다.

+0

감사합니다. – Nollie