Search code examples
c#windows-phone-8

C# System.NullReferenceException during setting slider value to text property


I have this simple slider project. I wanna show slider value in TextBox.

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
     <TextBox x:Name="sliderValue" HorizontalAlignment="Stretch" VerticalAlignment="Top" />
     <Slider x:Name="slider" Minimum="0" Maximum="20" Value="5" ValueChanged="slider_ValueChanged"/></Grid>

        // Constructor
    public MainPage()
    {
        InitializeComponent();
    }

    private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
            var slider = sender as Slider;
            string value = string.Format("{0}", slider.Value);
            sliderValue.Text = value;
    }

In last line I am getting this error:

System.NullReferenceException: Object reference not set to an instance of an object. at slider_test.MainPage.slider_ValueChanged(Object sender, RoutedPropertyChangedEventArgs`1 e) at .......

Could anyone explain me what is the problem? Thank you.


Solution

  • I am not sure but may be this will help you.

    private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
            { 
              Dispatcher.BeginInvoke(() =>
                    {
                        string value = string.Format("{0}",  e.NewValue);
                        sliderValue.Text = value;
                    }); 
    
            }