Quantcast
Channel: Northwoods Software - Latest topics
Viewing all articles
Browse latest Browse all 7425

Custom rotation adornment

$
0
0

@lise wrote:

Hello,

Despite documentation, forum search and the GoXamIntro I have not been able to find out how to get a custom rotation adornment to work. Where do I have to place the template? How do I get the diagram to use my template? How can I place the adornment atop a node instead of right of it?

Also, why does my RotatingTool not rotate the ports with the node? This is what my node template looks like:

<DataTemplate x:Key="ComponentNodeTemplate">
    <go:SpotPanel Style="{StaticResource ComponentStyle}"
                  go:Node.Location="{Binding Path=Data.Location, Mode=TwoWay}"
                  go:Part.SelectionElementName="VisualComponent"
                  go:Part.SelectionAdorned="False"
                  go:Part.LayerName="{Binding Path=Data.Layer.Id}"
                  go:Part.Visible="{Binding Path=Data.IsVisible}"
                  go:Part.Selectable="{Binding Path=Data.IsSelectable}"
                  go:Part.Rotatable="True"
                  MouseLeftButtonDown="Node_MouseLeftButtonDown"
                  MouseEnter="Node_MouseEnterComponent"
                  MouseLeave="Node_MouseLeaveComponent"
                  Width="{Binding Path=Data.NodeSize.Width}"
                  Height="{Binding Path=Data.NodeSize.Height}">
        <go:NodePanel Sizing="Auto"
                      go:Node.PortId="Component"
                      go:SpotPanel.Main="True"
                      Name="VisualComponent">
            <StackPanel>
                <Grid Width="{Binding Path=Data.IconSize.Width}"
                      Height="{Binding Path=Data.IconSize.Height}">
                    <Image Source="{Binding Path=Data.Icon}"
                           Stretch="UniformToFill"
                           HorizontalAlignment="Center"
                           VerticalAlignment="Center"></Image>
                </Grid>
            </StackPanel>
        </go:NodePanel>
        <Ellipse Style="{StaticResource PortStyle}"
                 Stroke="{Binding Path=Node.Tag, Converter={StaticResource ComponentHoverConverter}}"
                 go:Node.PortId="1"
                 go:Node.FromSpot="MiddleBottom"
                 go:Node.ToSpot="MiddleBottom"
                 go:SpotPanel.Spot="MiddleTop"
                 go:SpotPanel.Alignment="MiddleTop" />
        <Ellipse Style="{StaticResource PortStyle}"
                 Stroke="{Binding Path=Node.Tag, Converter={StaticResource ComponentHoverConverter}}"
                 go:Node.PortId="2"
                 go:Node.FromSpot="MiddleLeft"
                 go:Node.ToSpot="MiddleLeft"
                 go:SpotPanel.Spot="MiddleRight"
                 go:SpotPanel.Alignment="MiddleRight" />
        <Ellipse Style="{StaticResource PortStyle}"
                 Stroke="{Binding Path=Node.Tag, Converter={StaticResource ComponentHoverConverter}}"
                 go:Node.PortId="3"
                 go:Node.FromSpot="MiddleTop"
                 go:Node.ToSpot="MiddleTop"
                 go:SpotPanel.Spot="MiddleBottom"
                 go:SpotPanel.Alignment="MiddleBottom" />
        <Ellipse Style="{StaticResource PortStyle}"
                 Stroke="{Binding Path=Node.Tag, Converter={StaticResource ComponentHoverConverter}}"
                 go:Node.PortId="4"
                 go:Node.FromSpot="MiddleRight"
                 go:Node.ToSpot="MiddleRight"
                 go:SpotPanel.Spot="MiddleLeft"
                 go:SpotPanel.Alignment="MiddleLeft" />
    </go:SpotPanel>
</DataTemplate>

The rotation adornment template that is supposed to be used is actually just an icon:

<DataTemplate x:Key="RotationAdornmentTemplate">
    <Image Source="../Images/rotate.png"></Image>
</DataTemplate>

Posts: 2

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 7425

Latest Images

Trending Articles



Latest Images