0

如何将 TextBox 动态绑定到 Slider 的正确方法是什么?

这个想法是有很多文本框。当用户单击 TextBox 时,它会更改他的Background Color(显示它具有焦点),然后如果用户更改 Slider 的值,则应该更改的Text属性。Selected Textbox

4

2 回答 2

1

我会通过将 嵌入TextBoxesListBox. 这样,您可以使用列表框来处理其焦点的定义SelectedItem,然后将滑块也绑定到列表框 selecteditem。

于 2013-09-29T23:07:15.560 回答
0

如前所述@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>

在此处输入图像描述

于 2013-09-29T23:24:23.487 回答