我正在制作一个基于几个滑块的Metro Xaml控件。基本上,在ManipulationDelta事件上 - 特别是沿着X轴的平移 - 其中一个滑块拇指,我想将另一个滑块拇指翻译相同的量。我遇到的问题是使用RenderTransform翻译另一个拇指不会改变其滑块的值,而是表面上改变了拇指的位置。
是否有更简单的解决方案让滑块的值与拇指位置匹配,而不是仅使用几次计算将拇指位置投影到滑块值中?
编辑: 这是对我要做的事情的更细致和彻底的解释:
基本上,我正在尝试创建一个代表预览窗口的UI控件 - 一个可伸缩,可翻译(沿X轴)的栏,允许您选择要预览的相应视频的某些部分。 / p>
在幕后,我使用两个滑块来表示预览窗口的左右拇指,以及一个连接两个滑块拇指的矩形,它允许您同时翻译矩形和两个拇指。两个滑块的拇指可以让您拉伸窗口。
通过增加矩形的宽度来完成拉伸。通过矩形的转换是使用TranslateTransform对象完成的。
答案 0 :(得分:1)
常规Slider控件不需要处理任何操作或应用渲染变换。你可以将一个滑块的值绑定到另一个滑块的值,它们将串联移动。
<StackPanel
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Slider
Width="300"
Minimum="0"
Maximum="10"
StepFrequency="0.1"
Value="{Binding Value, ElementName=slider2, Mode=TwoWay}" />
<Slider
x:Name="slider2"
Width="300"
Minimum="0"
Maximum="10"
StepFrequency="0.1" />
</StackPanel>