I have used XamDiagram to define certain images in my view, which are bound to certain objects. Now, Is it possible to integrate a Radial Menu to these images?.
Can I make the Image pop a Radial Menu when it is clicked?.
<Grid Margin="0" Height="Auto" > <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Image Source="{Binding ImagePath}" Height="65" Width="65" Stretch="Uniform" /> <TextBlock Text="{Binding Mode=OneWay, Path=Name}" Grid.Row="1" TextWrapping="Wrap" Margin="1" TextAlignment="Center" /> </Grid> <ig:XamDiagram x:Name="mydiagram" Grid.RowSpan="2" ------ ------ <ig:XamDiagram.ContextMenu> <ContextMenu > <MenuItem Header="{Binding OptionMenuText}" Visibility="{Binding IsOptionMenuVisible, Converter={StaticResource BoolToVis}}" Click="MenuItem_Click"/> </ContextMenu> </ig:XamDiagram.ContextMenu>
<ig:XamDiagram.NodeDefinitions> <ig:NodeDefinition TargetType="-----" -------- -------- </ig:NodeDefinition> </ig:XamDiagram.NodeDefinitions> <ig:XamDiagram.ConnectionDefinitions> --------- -------- </ig:XamDiagram.ConnectionDefinitions> <ig:XamDiagram.Layout> <layout:CustomLayout /> </ig:XamDiagram.Layout> </ig:XamDiagram>
I think you can just add the xamRadialMenu to a custom context menu on any control. Then you can use the ContextMenu's Opened and Closed events to make the radial menu open and close in sync. Also, to make the central button of the xamRadialMenu appear beneath the cursor use the ContextMenu's HorizontalOffset and VerticalOffset properties.
<Grid> <Grid.ContextMenu> <ContextMenu> <ControlTemplate> <Grid> <ig:XamRadialMenu/> </Grid> </ControlTemplate> </ContextMenu> </Grid.ContextMenu> </Grid>