LinkableSelfNode issue

This is my node template but I can’t create a link which connect a node with itself. I found your go:Node.LinkableSelfNode=“True” property but I still can’t do it…

Do have I to set something in my model?

            <go:NodePanel  Sizing="Auto" >
                <Path go:NodePanel.Figure="RoundedRectangle" Fill="WhiteSmoke" Stroke="Black"
                      
                    go:Node.LinkableFrom="True" go:Node.LinkableTo="True" Cursor="Hand"/>
                <StackPanel x:Name="Shape" Orientation="Vertical">
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0 0 0 10">
                        <Image x:Name ="ImageData" Source="/Images/zoom.bmp" Stretch="Fill" Width="20" Height="20"/>
                        <TextBlock HorizontalAlignment="Center"
                        Text="{Binding Path=Data.Title}" FontWeight="Bold" TextWrapping="Wrap" go:Part.TextEditable="True"
                        Foreground="{Binding Path=Data.Color, Converter={StaticResource theStringBrushConverter}}"/>
                    </StackPanel>

                    <StackPanel Margin="0 0 0 10" >
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <grid:DataGrid Grid.Row="0" AutoGenerateColumns="False" CanUserResizeColumns="False"
                     Background="White" HorizontalAlignment="Stretch"
                     ItemsSource="{Binding Path=Data.Items}" HeadersVisibility="None" BorderBrush="White">
                                <grid:DataGrid.Columns>
                                    <grid:DataGridTemplateColumn>
                                        <grid:DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <go:NodePanel>
                                                    <Path go:NodePanel.Figure="{Binding Path=Figure}"
                                            Width="10" Height="10"
                                            Fill="{Binding Path=Color}"
                                            Stroke="Black" StrokeThickness="1"/>
                                                </go:NodePanel>
                                            </DataTemplate>
                                        </grid:DataGridTemplateColumn.CellTemplate>
                                    </grid:DataGridTemplateColumn>
                                    <grid:DataGridTextColumn Binding="{Binding Path=Name}"/>
                                    <grid:DataGridTextColumn Binding="{Binding Path=Value}"/>
                                </grid:DataGrid.Columns>
                            </grid:DataGrid>
                        </Grid>
                    </StackPanel>
                    <StackPanel x:Name="panel_buttonNode">
                        <Button x:Name="buttonNode" Content="AjoutBoutton" Click="buttonNode_Click" Margin="5 5 5 5"/>
                    </StackPanel>
                </StackPanel>
                <ToolTipService.ToolTip>
                    <TextBlock Text="{Binding Path=Data.Key}"
                 Visibility="{Binding Path=Data.Key.Length,
                              Converter={StaticResource theCountVisibilityConverter}}" />
                </ToolTipService.ToolTip>
       </go:NodePanel>

            <Rectangle Fill="Black" Width="4" Height="4"
             go:SpotPanel.Spot="{Binding Path=Data.Spot1}" go:SpotPanel.Alignment="{Binding Path=Data.Spot1}"
             go:Node.PortId="S1" go:Node.LinkableFrom="True" go:Node.LinkableTo="True" Cursor="Hand"
             go:Node.FromSpot="{Binding Path=Data.Spot1}" go:Node.ToSpot="{Binding Path=Data.Spot1}" />
            <Rectangle Fill="Black" Width="4" Height="4"
             go:SpotPanel.Spot="{Binding Path=Data.Spot2}" go:SpotPanel.Alignment="{Binding Path=Data.Spot2}"
             go:Node.PortId="S2" go:Node.LinkableFrom="True" go:Node.LinkableTo="True" Cursor="Hand"
             go:Node.FromSpot="{Binding Path=Data.Spot2}" go:Node.ToSpot="{Binding Path=Data.Spot2}" />
            <Rectangle Fill="Black" Width="4" Height="4"
             go:SpotPanel.Spot="{Binding Path=Data.Spot3}" go:SpotPanel.Alignment="{Binding Path=Data.Spot3}"
             go:Node.PortId="S3" go:Node.LinkableFrom="True" go:Node.LinkableTo="True" Cursor="Hand"
             go:Node.FromSpot="{Binding Path=Data.Spot3}" go:Node.ToSpot="{Binding Path=Data.Spot3}" />
            <Rectangle Fill="Black" Width="4" Height="4"
             go:SpotPanel.Spot="{Binding Path=Data.Spot4}" go:SpotPanel.Alignment="{Binding Path=Data.Spot4}"
             go:Node.PortId="S4" go:Node.LinkableFrom="True" go:Node.LinkableTo="True" Cursor="Hand"
             go:Node.FromSpot="{Binding Path=Data.Spot4}" go:Node.ToSpot="{Binding Path=Data.Spot4}" />
        </go:SpotPanel>
    </DataTemplate>

You have to make sure that all of the port-related attached properties are only on the elements that you want to act as ports.

An element is a port if you have set its go:Node.PortId attached property. (But if you don’t set that on any element, it defaults to using the Node’s root VisualElement.)

So you need to set go:Node.LinkableSelfNode on the particular port(s) for which you want to allow such behavior.

You might want to check the Output Window in Visual Studio to see if you are getting any warning messages.