RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP
I am using this RadialMenu
and want to define some Triggers
<Style x:Key="FancyRadialMenuItem" TargetType="Controls2:RadialMenuItem" BasedOn="{StaticResource {x:Type Controls2:RadialMenuItem}}">
<Setter Property="Background" Value="#FF4985D6"/>
<Setter Property="Padding" Value="0.5"/>
<Setter Property="InnerRadius" Value="40"/>
<Setter Property="OuterRadius" Value="150"/>
<Setter Property="ContentRadius" Value="85"/>
<Setter Property="Foreground" Value="Gainsboro"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="Resources/#Buxton Sketch"/>
<Setter Property="EdgeBackground" Value="#FF4479C5"/>
<Setter Property="EdgePadding" Value="0"/>
<Setter Property="EdgeInnerRadius" Value="127"/>
<Setter Property="EdgeOuterRadius" Value="150"/>
<Setter Property="ArrowBackground" Value="Gainsboro"/>
<Setter Property="ArrowRadius" Value="138"/>
</Style>
I add this:
<Style.Triggers>
<Trigger>
</Trigger>
</Style.Triggers>
And want to add some IsMouseOVer
triggers but it seemt that this missing, am i missing somethng ?
Source: (StackOverflow)
I'm using MTZRadialMenu component. The component works great. However, if you add it to a small superview, when the menu opens the buttons are no longer clickable. Probably because the expanded menu is outside the bonds of its superview. I have tried playing with hitTest and PointInside to expand the view clickable area but with no luck. Any help is much appreciated.
Here is the component :
https://github.com/mdznr/MTZRadialMenu
Source: (StackOverflow)
I defined this style
:
<Style x:Key="FancyRadialMenuItem" TargetType="Controls2:RadialMenuItem" BasedOn="{StaticResource {x:Type Controls2:RadialMenuItem}}">
<Setter Property="Background" Value="#FF8AA5DE"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Padding" Value="0.2"/>
<Setter Property="InnerRadius" Value="30"/>
<Setter Property="OuterRadius" Value="150"/>
<Setter Property="ContentRadius" Value="90"/>
<Setter Property="EdgeBackground" Value="#FF859BC9"/>
<Setter Property="EdgePadding" Value="0"/>
<Setter Property="EdgeInnerRadius" Value="130"/>
<Setter Property="EdgeOuterRadius" Value="150"/>
<Setter Property="ArrowBackground" Value="Transparent"/>
<Setter Property="ArrowRadius" Value="138"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="#FF275CB9"/>
<Setter Property="ArrowBackground" Value="White"/>
<Setter Property="EdgeBackground" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
Because i didn't find GetMouseCapture
and LostMouseCapture
via XAML i put it in code behind:
private void radialMenuItemOpenFile_GotMouseCapture(object sender, MouseEventArgs e)
{
radialMenuItemOpenFile.Foreground = System.Windows.Media.Brushes.Gainsboro;
radialMenuItemOpenFile.Background = System.Windows.Media.Brushes.Gray;
radialMenuItemOpenFile.EdgeBackground = System.Windows.Media.Brushes.Gray;
radialMenuItemOpenFile.ArrowBackground = System.Windows.Media.Brushes.DimGray;
}
private void radialMenuItemOpenFile_LostMouseCapture(object sender, MouseEventArgs e)
{
radialMenuItemOpenFile.Foreground = System.Windows.Media.Brushes.White;
var color = new System.Windows.Media.BrushConverter();
var backgroundBrush = (System.Windows.Media.Brush)color.ConvertFromString("#FF8AA5DE");
radialMenuItemOpenFile.Background = backgroundBrush;
var edgeBackgroundBrush = (System.Windows.Media.Brush)color.ConvertFromString("#FF859BC9");
radialMenuItemOpenFile.EdgeBackground = edgeBackgroundBrush;
radialMenuItemOpenFile.ArrowBackground = System.Windows.Media.Brushes.Transparent;
}
Inside GotMouseCapture
i changed to my desire values and inside LostMouseCapture
i changed it back for what defined in XAML
but the broblem is that after LostMouseCapture
my IsMouseOver
trigger
not responding and my properties values remained as is.
Source: (StackOverflow)