2016-03-31 8 views
0

Ich möchte ein ItemsControl mit einer Schaltfläche implementieren, die den gleichen Inhalt mit einem anderen ViewModel hinzufügt. Bisher habe ich diesen Code:C# WPF: ItemsControl mit Add-Content-Button

<ItemsControl ItemsSource="{Binding Items}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Controls:ItemView /> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

Die Taste immer das letzte Element in der Steuerung sein sollte und es sollte nur eine Add-Taste hat. Hat jemand eine gute Lösung? Ich konnte es alleine mit hässlichen Abhilfen tun, aber ich hasse hässliche Abhilfen :)

+0

So möchten Sie ein Button, der ein Element zu Items hinzufügt? – Andy

+0

Grundsätzlich ja, aber mein Hauptproblem ist, dass ich nicht weiß, wie man eine Schaltfläche zum Itemscontrol hinzufügt, die immer auf der Unterseite ist und nur einmal existiert. –

+0

Vielleicht müssen Sie eine Compositecollection verwenden? Siehe http://stackoverflow.com/questions/6446699/how-do-you-bind-a-collectioncontainer-to-a-collection-in-a-view-model – auburg

Antwort

1

Sie benötigen die Template Ihrer ItemsControl anpassen können, um die Button unter der ItemsPresenter hinzuzufügen:

<ItemsControl ItemsSource="{Binding Items}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Controls:ItemView /> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 

    <ItemsControl.Template> 
     <ControlTemplate TargetType="ItemsControl"> 
      <StackPanel> 
       <ItemsPresenter /> 
       <Button Content="Add Item" Click="AddItem_Click"/> 
      </StackPanel> 
     </ControlTemplate> 
    </ItemsControl.Template> 

</ItemsControl> 
+0

Danke Sir! :) –

Verwandte Themen