如何将 TextBox 动态绑定到 Slider 的正确方法是什么?
这个想法是有很多文本框。当用户单击 TextBox 时,它会更改他的Background Color
(显示它具有焦点),然后如果用户更改 Slider 的值,则应该更改的Text
属性。Selected Textbox
我会通过将 嵌入TextBoxes
到ListBox
. 这样,您可以使用列表框来处理其焦点的定义SelectedItem
,然后将滑块也绑定到列表框 selecteditem。
如前所述@AlSki
,您可以使用 aListBox
来保存所有内容TextBoxes
并绑定到SelectedItem
例子:
<StackPanel>
<Slider Value="{Binding SelectedItem.Text, ElementName=listbox}"/>
<ListBox Name="listbox">
<TextBox />
<TextBox />
<TextBox />
<TextBox />
</ListBox>
</StackPanel>
或者,如果TextBoxes
它们的布局方式无法与 an 一起使用,ItemsControl
您可以通过创建 aTextBox
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>