wpf-devexpress-dot-xpf-dot-diagram-dot-diagramdatabindingbehaviorbase-f0fc5cf9.md
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
public event EventHandler<DiagramGenerateConnectorEventArgs> GenerateConnector
Public Event GenerateConnector As EventHandler(Of DiagramGenerateConnectorEventArgs)
The GenerateConnector event's data class is DevExpress.Xpf.Diagram.DiagramGenerateConnectorEventArgs.
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.
private void DiagramDataBindingBehavior_GenerateConnector(object sender, DiagramGenerateConnectorEventArgs e) {
if (e.DataObject is Link)
e.Connector = e.CreateConnectorFromTemplate("CurvedConnector");
else e.Connector = e.CreateConnectorFromTemplate("DefaultConnector");
}
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.
<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>
#line 13 "..\..\..\MainWindow.xaml"
((DevExpress.Xpf.Diagram.DiagramDataBindingBehavior)(target)).GenerateConnector += new System.EventHandler<DevExpress.Xpf.Diagram.DiagramGenerateConnectorEventArgs>(this.DiagramDataBindingBehavior_GenerateConnector);
#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
DiagramDataBindingBehaviorBase Class