将+/-图像绑定到滑块?

时间:2013-02-20 10:19:11

标签: silverlight silverlight-5.0

嗨我的滑块左边有一个' - '的图像,右边有一个'+'的图像。

如何绑定这些图像,如果点击它们,它们会按我的SMALLCHANGE值增加或减少滑块?

感谢。

1 个答案:

答案 0 :(得分:0)

请注意,最简单的方法是命名您的Slider,处理UserControl中的Image.MouseLeftButtonUp并在后面的代码中更改其值。如果您不打算重复使用此行为,则无需再进行任何操作。

为了使这种行为可重用,有几种方法。最初我建议在图像中使用绑定到滑块的EventTriggerCallMethodAction,但Slider没有像LargeIncrement,SmallIncrement,LargeDecrement,SmallDecremenet这样的方法。不过,您可以将其子类化并自己实现这些方法。

另一种选择是为Image(或任何FrameworkElement)创建一个AttachedProperty之类的“IncrementSlider”,它将通过ElementName绑定接收Slider实例。在this的PropertyChangedCallback(请参阅PropertyMetadata)中,您可以订阅控件的MouseLeftButtonUp事件并修改Slider。您也可以创建其他附加属性,例如“DecrementSlider”,“SmallIncrementSlider”。

在这种情况下,比AttachedProperty更好的解决方案是AttachedBehavior。您可以使用Slider属性和其他控件属性(如“IncrementOrDecrement”和“SmallOrLarge”)为FrameworkElement(或只是Image)创建行为。在行为的OnAttached方法中,您将订阅控件的MouseLeftButtonUp以更新Slider(如果有一个可用)。然后,您可以将行为附加到Images,将行为的Slider属性绑定到所需的Slider,并将其配置为每个,以大或小的步长递增或递减。

相关问题