带有滑块绑定的条件文本框

本文关键字:条件 文本 绑定 | 更新日期: 2023-09-27 18:15:31

我有三个文本框和一个滑动条来改变它们的文本属性。我要做的是绑定滑块的值属性与文本文本框属性,但在一个特定的方式。当一个文本框被激活(聚焦)时,我需要滑块来改变它的文本属性。而且只有这一个。到目前为止,我已经绑定了它,但是当我移动滑块时,所有的文本框都会更新。

任何想法?我正在阅读有关转换器,但我不知道如何在我的程序中实现它。

http://forums.create.msdn.com/forums/t/95548.aspx在这里你有我的滑块和文本块的代码。

带有滑块绑定的条件文本框

当文本框接收到焦点时,如何简单地更改活动绑定:

背后的代码:

    private Binding _activeBinding;
    private TextBox _activeTextbox;
    private TextBox ActiveTextBox
    {
        get { return _activeTextbox; }
        set
        {
            // Check if a binding exists, initialize if one does not
            if (_activeBinding == null)
            {
                _activeBinding = new Binding("Value");
                _activeBinding.Source = this.sld;
            }
            if (_activeTextbox != null)
            {
                // Clear the binding
                _activeTextbox.ClearValue(TextBox.TextProperty);
            }
            _activeTextbox = value;
            if (_activeTextbox != null)
            {
                // Set the new binding
                _activeTextbox.SetBinding(TextBox.TextProperty, _activeBinding);
            }
        }
    }
    private void TextBox_GotFocus(object sender, RoutedEventArgs e)
    {
        this.ActiveTextBox = sender as TextBox;
    }
XAML:

 <Grid>
    <StackPanel>
        <TextBox GotFocus="TextBox_GotFocus">1</TextBox>
        <TextBox GotFocus="TextBox_GotFocus">2</TextBox>
        <TextBox GotFocus="TextBox_GotFocus">3</TextBox>
        <Slider x:Name="sld"></Slider>
    </StackPanel>
</Grid>