2009-06-17 9 views
0

나는 내 MainWindow에 StackPanel을 배치했습니다. StackPanel은 런타임에 새로운 UserControls를 동적으로 가져옵니다 (UserControl은 TextBox 행과 "Delete"라는 버튼입니다). {바인딩 경로 = FIRSTNAME, 모드 "
텍스트 상자의 TextWrapping ="랩 "Grid.Column을 ="1 "텍스트 =WPF UserControl 자체 및 바인딩 된 Data-Object 삭제 하시겠습니까?

PersonObject p = new PersonObject; 
List.Add(p); 

UserControlLine usrCtrlLine = new UserControlLine(); 
usrCtrlLine.DataContext = p; 

StackPanel.Children.Add(usrCtrlLine); 

이제 해당 UserControl이 같은 텍스트 상자가 포함 이 내가 된 UserControls를 만드는 방법에 관한 것입니다 "- ("로 삭제)
= 양방향} StackPanel의에서 자신을 제거

내 질문은 어떻게 UserControl을가
할 수 있습니다 "- 그것은 바인딩 된 PersonObject 피를 삭제 하시겠습니까?

고맙습니다.

답변

0

여기에서하려는 일을 잘 모르겠다 ... StackPanel에 사람 목록을 표시하고 싶습니까? 당신은 단지 사람의 컬렉션에서 제거

<ItemsControl ItemsSource="{Binding ListOfPersons}"> 
    <ItemsControl.ItemsPanel> 
    <ItemsPanelTemplate> 
     <StackPanel IsItemsHost="True"/> 
    </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <my:UserControlLine/> 
    </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

항목을 삭제하려면, 및 관련 UserControlLine도 제거됩니다 : 당신은 ItemsControl에가하는 UserControlLine으로 StackPanel에로의 ItemsPanel, 그 ItemTemplate을 정의 사용해야합니다 ItemsControl (컬렉션은 ObservableCollection이어야 함)

+0

이 입력에 감사드립니다! 나는 당신의 키워드로 더 많은 것을 봤고 여기 좋은 예제를 발견했다 : http://www.galasoft.ch/mydotnet/articles/article-2007041201.aspx –