Тріпка оснащення зручна, але має обмеження, наприклад, якщо ви хочете показати лише підмножину дійсних кліщів. Я мав успіх у двох варіантах: або прив’язати до цілого числа, або округлити нове значення. Ось комбінований приклад:
public int MyProperty { get; set; }
private void slider1_ValueChanged(object sender,
RoutedPropertyChangedEventArgs<double> e)
{
(sender as Slider).Value = Math.Round(e.NewValue, 0);
}
<Slider
Name="slider1"
TickPlacement="TopLeft"
AutoToolTipPlacement="BottomRight"
ValueChanged="slider1_ValueChanged"
Value="{Binding MyProperty}"
Minimum="0" Maximum="100" SmallChange="1" LargeChange="10"
Ticks="0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100"/>
Я поняття не маю, як продуктивність будь-якого порівняння зі штучним трюком, але у мене не виникло жодних проблем *.
* Якщо ви також прив’яжете значення повзунка до типу текстового поля, ви відчуєте, що час від часу, використовуючи мишу, текстове поле показуватиме десяткові місця. Якщо ви одночасно прив'язуєте до int, порожній рядок призведе до того, що буде викинуто виняток перетворення, яке ненадовго зменшить інтерфейс користувача. Ці питання не були досить серйозними для мене, щоб шукати рішення.