2009-06-17 4 views
0

私は自分のMainWindowに、実行時に新しいUserControls(UserControlはTextBoxの行で、 "Delete"という名前のボタン)を動的に取得するStackPanelを配置しました。 これは私がユーザーコントロールを作成する方法についてです:
のTextBox 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); 

今、ユーザーコントロールは、このようなテキストボックスが含まれています「 - ( 『削除されます)
=双方向}のStackPanelから自分自身を削除する

私の質問はどのように私は、ユーザーコントロールが
させることができ、ある』 - それにバインドされているPersonObject pを削除しますか?

ありがとうございます!

答えて

0

あなたがここで何をしようとしているのか分かりません...あなたはStackPanelに人のリストを表示したいですか?あなたは、のItemsControlを使用するのStackPanelとしてのItemsPanelを定義し、UserControlLineとしてのItemTemplateにする必要があります

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

項目を削除するには、あなただけの人々の収集、および関連するUserControlLineから削除も削除されますItemsControlから(コレクションはObservableCollectionでなければなりません)

+0

この入力をありがとう!私はいくつかのあなたのキーワードでより多くのグーグルとここで素晴らしい例を見つけた:http://www.galasoft.ch/mydotnet/articles/article-2007041201.aspx –

関連する問題