将TextBox动态绑定到Slider的正确方法是什么?
这个想法是拥有许多文本框。当用户单击TextBox时,它会更改其Background Color
(显示它具有焦点),然后如果用户更改了Slider的值,则Text
属性Selected Textbox
应该改变。
答案 0 :(得分:1)
我希望将TextBoxes
嵌入ListBox
中。这样,您可以使用列表框来处理其SelectedItem
所关注内容的定义,然后将滑块绑定到listitees selecteditem。
答案 1 :(得分:0)
正如@AlSki
提到的那样,您可以使用ListBox
来保留所有TextBoxes
并绑定到SelectedItem
示例:
<StackPanel>
<Slider Value="{Binding SelectedItem.Text, ElementName=listbox}"/>
<ListBox Name="listbox">
<TextBox />
<TextBox />
<TextBox />
<TextBox />
</ListBox>
</StackPanel>
或者如果TextBoxes
以不能与ItemsControl
一起使用的方式布局,您可以通过创建TextBox
Style
并设置绑定来执行此操作到触发器中的Slider
示例:
<StackPanel>
<StackPanel.Resources>
<Style TargetType="TextBox">
<Setter Property="Text" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text, Mode=OneWay}" />
<Setter Property="Background" Value="White" />
<Style.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Background" Value="Yellow" />
<Setter Property="Text" Value="{Binding ElementName=slider, Path=Value, Mode=OneWay}" />
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<Slider Name="slider" Focusable="False"/>
<TextBox />
<TextBox />
<TextBox />
<TextBox />
</StackPanel>