我尝试创建一个ControlTemplate
,它表示一个Slider
和一个TextBox
(以及一个Label
),其中TextBox
的文本应该显示Slider
的值。
我不知道如何正确设置Slider
的Value
属性和TextBox
的Text
属性之间的绑定。
这是我的ControlTemplate
:
<ControlTemplate x:Key="myslider" TargetType="Slider">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Label>Slider</Label>
<Slider
Width="100"
Minimum="0" Maximum="100"/>
<TextBox Width="40"
Text="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Value}">
</TextBox>
</StackPanel>
</ControlTemplate>
这里我使用ControlTemplate示例化了3个Slider:
<StackPanel>
<Slider Template="{StaticResource myslider}"></Slider>
<Slider Template="{StaticResource myslider}"></Slider>
<Slider Template="{StaticResource myslider}"></Slider>
</StackPanel>
结果如下所示:
目标是每个滑块控制单个TextBox中的值。
1条答案
按热度按时间mf98qq941#
我更喜欢使用用户控件作为首选。但是如果我们按照你的思路,Slider和TextBox的共享值应该是父Slider上的Value依赖属性。
测试代码如下: