Hallo,
ich bastel mir gerade einen NodeEditor in WPF. Dabei habe ich mich am Blender Node Editor orientiert. Meine Nodes sehen im Moment so aus:
vb-paradise.de/index.php/Attac…0db3173acfc41fbf9082f1262
Das Viemodel ist vereinfacht so aufgebaut:
Die Nodes werden dann von einem
Jetzt möchte ich eine Verbindung zwischen zwei Ellipsen, beispielsweise durch eine Linie, darstellen. Da die Ellipsen aber von der ListView erstellt werden, habe ich keinen direkten Zugriff auf sie und kann auch nicht mit ElementName o. ä. in Bindings arbeiten.
Was wäre der geschickteste Weg, um so eine Verbindung zu realisieren?
ich bastel mir gerade einen NodeEditor in WPF. Dabei habe ich mich am Blender Node Editor orientiert. Meine Nodes sehen im Moment so aus:
vb-paradise.de/index.php/Attac…0db3173acfc41fbf9082f1262
Das Viemodel ist vereinfacht so aufgebaut:
C#-Quellcode
- class MainViewModel : INotifyPropertyChanged
- {
- public ObservableCollection<NodeBase> Nodes { get; set; }
- }
- class NodeBase : INotifyPropertyChanged
- {
- public ObservableCollection<NodeInterface> Inputs { get; set; }
- public ObservableCollection<NodeInterface> Outputs { get; set; }
- }
- class NodeInterface : INotifyPropertyChanged
- {
- public string Name { get; set; }
- //weitere Member, für die UI aber uninteressant
- }
Die Nodes werden dann von einem
ItemsControl
gerendert; jede Node hat zwei ListViews
, die an die Inputs
und Outputs
Listen gebunden sind, mit einem eigenen ItemContainerTemplate, das die Ellipse und einen Text enthält.Jetzt möchte ich eine Verbindung zwischen zwei Ellipsen, beispielsweise durch eine Linie, darstellen. Da die Ellipsen aber von der ListView erstellt werden, habe ich keinen direkten Zugriff auf sie und kann auch nicht mit ElementName o. ä. in Bindings arbeiten.
Was wäre der geschickteste Weg, um so eine Verbindung zu realisieren?
Twitch Viewer Display Chat-, Zuschauer- und Statistiktool für Streamer