স্ন্যাপ কৌশলটি কার্যকর তবে এর সীমাবদ্ধতা রয়েছে, উদাহরণস্বরূপ যদি আপনি কেবল বৈধ টিক্সের একটি উপসেট দেখাতে চান। আমি দুটি বিকল্পের সাথে সাফল্য পেয়েছি: হয় একটি পূর্ণসংখ্যার সাথে আবদ্ধ বা নতুন মানকে গোল করে। এখানে একটি সম্মিলিত উদাহরণ:
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"/>
উভয়ের পারফরম্যান্স কীভাবে স্ন্যাপ ট্রিকের সাথে তুলনা করে সে সম্পর্কে আমার ধারণা নেই তবে আমার কোনও সমস্যা হয়নি।
* আপনি যদি আরো বেঁধে টেক্সট ক্ষেত্রের একটি প্রকার স্লাইডার এর মান আপনি যে অভিজ্ঞতা হবে, যে একটি একবার যখন মাউস ব্যবহার করে, টেক্সট ক্ষেত্রের দশমিক প্রদর্শন করবে। আপনি যদি একই সময়ে কোনও সংযুক্তিতে আবদ্ধ হন তবে খালি স্ট্রিং একটি রূপান্তর ব্যতিক্রম ছুঁড়ে ফেলার কারণ হতে পারে যা সংক্ষিপ্তভাবে UI- র উপর চাপিয়ে দেয়। এই বিষয়গুলি সমাধানের সন্ধানের জন্য আমার পক্ষে যথেষ্ট তীব্র হয়নি।