Completed
Last Updated: 13 Feb 2018 07:36 by ADMIN
ADMIN
Martin Ivanov
Created on: 22 Jun 2015 14:51
Category: Gauge
Type: Bug Report
2
Gauge: The gauge interaction does not work when the scale's Effect property is set
When the Effect property of the gauge's scale is set (to BlurEffect for example) any mouse interaction with the control is lost. 

If the Effect property of the panel that wraps the gauge is set, the mouse interaction of all children of this panel is lost.

Workaround:
Disable the interaction with the scale and implement the moving of the indicators on MouseLeftButtonDown. Here is an example:

<telerik:RadRadialGauge MouseLeftButtonDown="RadRadialGauge_MouseLeftButtonDown" >
    <telerik:RadialScal Min="1" Max="12" IsInteractive="False">                
        <telerik:RadialScale.Indicators>
            <telerik:Needle />
            <telerik:Pinpoint />
        </telerik:RadialScale.Indicators>
    </telerik:RadialScale>
</telerik:RadRadialGauge>

Note that the IsInteractive property's default value is False so you can just skip setting it.
private void RadRadialGauge_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    var mousePosition = e.GetPosition(this.rs1);
 
    double value = this.rs1.GetValueByPoint(mousePosition);
    foreach (UIElement element in this.rs1.Indicators)
    {
        InteractiveIndicator indicator = element as InteractiveIndicator;
        if (indicator != null)
        {
            indicator.Value = value;
        }
    }
}
0 comments