Ich versuche, ein WPF-Canvas-Steuerelement zu erstellen, das Formen, Kurven und Textblöcke zeichnen, auswählen und löschen kann. Daher kann MVVM eine Liste von Ansichtsmodellen mit Canvas Children binden.Kann WPF Canvas Childs ObservableCollection binden ViewModel für verschiedene Formen und TextBlocks?
Canvas Kinder können jedoch nicht direkt gebunden werden. Also bin ich irgendwie festgefahren. Hätte sich im Internet umgeschaut, aber keine direkten Antworten gefunden. Ich habe jemanden gefunden, der den folgenden Weg vorschlägt, um Canvas Children zu binden, aber ich konnte nicht verstehen, welche Art von ViewModels "Nodes" sind und wie man verschiedene Formen, Kurven und TextBlocks in Knoten konvertiert.
Jede Hilfe wird geschätzt. Danke im Voraus.
<ItemsControl ItemsSource="{Binding Path=Nodes}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Canvas.Left" Value="{Binding Path=XPos}" />
<Setter Property="Canvas.Top" Value="{Binding Path=YPos}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
Diese Frage ist fast ein bisschen zu breit. Die ViewModels könnten fast alles sein, abhängig davon, was Sie anzeigen möchten. Die einzige Garantie ist, dass sie 2 Props 'XPos' und' YPos' haben. – lokusking