Back to Devexpress

DiagramDataBindingBehaviorBase.GenerateConnector Event

wpf-devexpress-dot-xpf-dot-diagram-dot-diagramdatabindingbehaviorbase-f0fc5cf9.md

latest5.7 KB
Original Source

DiagramDataBindingBehaviorBase.GenerateConnector Event

Fires before generating a connector from the data source and allows you to customize it.

Namespace : DevExpress.Xpf.Diagram

Assembly : DevExpress.Xpf.Diagram.v25.2.dll

NuGet Package : DevExpress.Wpf.Diagram

Declaration

csharp
public event EventHandler<DiagramGenerateConnectorEventArgs> GenerateConnector
vb
Public Event GenerateConnector As EventHandler(Of DiagramGenerateConnectorEventArgs)

Event Data

The GenerateConnector event's data class is DevExpress.Xpf.Diagram.DiagramGenerateConnectorEventArgs.

Remarks

By default, the uppermost connector defined in XAML within the DiagramDataBindingBehaviorBase.TemplateDiagram is used as the template for the connectors.

You can use the GenerateConnector event to implement custom logic for choosing the connector template. To do this, create connectors in the DiagramDataBindingBehaviorBase.TemplateDiagram and specify their names using the DiagramItem.TemplateName property. Specify the name of the desired template as the event’s CreateConnectorFromTemplate method parameter and assign the method return value to the event’s Connector property. See the example below.

csharp
private void DiagramDataBindingBehavior_GenerateConnector(object sender, DiagramGenerateConnectorEventArgs e) {
    if (e.DataObject is Link)
        e.Connector = e.CreateConnectorFromTemplate("CurvedConnector");
    else e.Connector = e.CreateConnectorFromTemplate("DefaultConnector");
}
vb
Private Sub DiagramDataBindingBehavior_GenerateConnector(ByVal sender As Object, ByVal e As DiagramGenerateConnectorEventArgs)
    If TypeOf e.DataObject Is Link Then
        e.Connector = e.CreateConnectorFromTemplate("CurvedConnector")
    Else
        e.Connector = e.CreateConnectorFromTemplate("DefaultConnector")
    End If
End Sub

Alternatively, you can use the DiagramDataBindingBehaviorBase.ConnectorTemplateSelector property.

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the GenerateConnector event.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

wpf-diagram-use-diagramdatabindingbehavior-to-generate-diagram-from-collection/CS/DiagramDataBindingBehavior/MainWindow.xaml#L13

xml
<dxmvvm:Interaction.Behaviors>
    <dxdiag:DiagramDataBindingBehavior ItemsSource="{Binding ClassSource}" ConnectorsSource="{Binding ConnectionSource}" ConnectorFromMember="ConnectedFrom" ConnectorToMember="ConnectedTo" KeyMember="ClassName" LayoutKind="Sugiyama" ClearExistingItems="False" GenerateItem="DiagramDataBindingBehavior_GenerateItem" GenerateConnector="DiagramDataBindingBehavior_GenerateConnector">
        <dxdiag:DiagramDataBindingBehavior.TemplateDiagram>

wpf-diagram-use-diagramdatabindingbehavior-to-generate-diagram-from-collection/CS/DiagramDataBindingBehavior/obj/Debug/net8.0-windows/MainWindow.g.cs#L94

csharp
#line 13 "..\..\..\MainWindow.xaml"
((DevExpress.Xpf.Diagram.DiagramDataBindingBehavior)(target)).GenerateConnector += new System.EventHandler<DevExpress.Xpf.Diagram.DiagramGenerateConnectorEventArgs>(this.DiagramDataBindingBehavior_GenerateConnector);

wpf-diagram-use-diagramdatabindingbehavior-to-generate-diagram-from-collection/VB/DiagramDataBindingBehavior/obj/Debug/net8.0-windows/MainWindow.g.vb#L94

vb
#ExternalSource("..\..\..\MainWindow.xaml",13)
AddHandler CType(target,DevExpress.Xpf.Diagram.DiagramDataBindingBehavior).GenerateConnector, New System.EventHandler(Of DevExpress.Xpf.Diagram.DiagramGenerateConnectorEventArgs)(AddressOf Me.DiagramDataBindingBehavior_GenerateConnector)

See Also

ConnectorsSource

DiagramDataBindingBehaviorBase Class

DiagramDataBindingBehaviorBase Members

DevExpress.Xpf.Diagram Namespace