My XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Slider Name="sldLength" Margin="0 0 0 0" Grid.Column="0"
Minimum="5" Maximum="30" SmallChange="1" LargeChange="1"
Value="10" ValueChanged="sldLength_ValueChanged"/>
<TextBlock Name="tblLength" Margin="0 10 5 0" Text="10" Grid.Column="1"
FontSize="{StaticResource PhoneFontSizeMediumLarge}"/>
</Grid>
My Code begind:
private void sldLength_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
tblLength.Text = e.NewValue.ToString();
}
2 problems:
- ValueChanged event fires when the application is loaded, this is not a problem, but for some reason at the time of the event firing tblLength is NULL and this throws an exception, I have wrapped it in an if statement checking for that NULL, but this surely should not be the issue right?
- Slider does not change in the increments of 1, even though SmallChange and LargeChange are set to 1. How could that be fixed?
Thnks for any help...
--EDIT--
Solved problem 1 with Chepene suggestion.
Solved problem 2 with little cheeky event handler:
private void sldLength_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
((Slider)sender).Value = Math.Round(((Slider)sender).Value);
}