I recently burnt a little more time than I would have liked making the WPF Slider Control do something simple. Basically, I wanted a slider that would have a minimum value of 0 and a maximum value of 1 with increments of .01.  The Value property of a slider is of type double and when you use the slider it increments/decrements with quite a bit of granularity, to like .0000001 or more.  At first, you'd think setting the SmallChange and LargeChange would fix this, but these properties only affect when the user uses arrow keys or page up/page down keys to change the slider. Direct mouse manipulation doesn't respect these values. So what to do?  Well, you can set the TickFrequency to the value of change you want (in my case .01) and then set the IsSnapToTickEnabled to true. Finally, I set the TickPlacement to "none" because 100 tick marks didn't look so hot. Here's the final XAML:

<Slider  
      x:Name="SliderFrom"
      Width="230"
      Height="21"
      TickFrequency=".01"
      IsSnapToTickEnabled="true"
      TickPlacement="none"
      Value="{Binding Path=From, Mode=Default, UpdateSourceTrigger=PropertyChanged}"
      Maximum="1"
      Minimum="0"

/>                          

Oh, and you'll notice that to make any changes on the slider propagate immediately to my data object, I also changed the UpdateSourceTrigger to PropertyChanged.