เคล็ดลับสแน็ปมีประโยชน์ แต่มีข้อ จำกัด เช่นหากคุณต้องการแสดงเฉพาะบางส่วนของเห็บที่ถูกต้อง ฉันประสบความสำเร็จกับสองทางเลือก: ผูกกับจำนวนเต็มหรือปัดเศษค่าใหม่ นี่คือตัวอย่างรวม:
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 ในเวลาเดียวกันสตริงว่างจะทำให้เกิดข้อยกเว้นการแปลงซึ่งจะทำให้ UI ชะงักไปชั่วขณะ ปัญหาเหล่านี้ยังไม่รุนแรงเพียงพอสำหรับฉันที่จะหาทางแก้ไข