C# 带滑块绑定的条件文本框
我有三个文本框和一个滑块,可以更改它们的文本属性。我要做的是将slider的value属性与Text textbox属性绑定,但要以特定的方式绑定。当其中一个文本框被激活时,我需要滑块来更改其文本属性。只有那个。到目前为止,我已经绑定了它,但当我移动滑块时,所有文本框都会更新 有什么想法吗? 我读过关于转换器的书,但我不知道如何在我的程序中实现它C# 带滑块绑定的条件文本框,c#,windows-phone-7,binding,silverlight-4.0,C#,Windows Phone 7,Binding,Silverlight 4.0,我有三个文本框和一个滑块,可以更改它们的文本属性。我要做的是将slider的value属性与Text textbox属性绑定,但要以特定的方式绑定。当其中一个文本框被激活时,我需要滑块来更改其文本属性。只有那个。到目前为止,我已经绑定了它,但当我移动滑块时,所有文本框都会更新 有什么想法吗? 我读过关于转换器的书,但我不知道如何在我的程序中实现它 这里有我的滑块和文本块的代码 当文本框接收焦点时,简单地更改活动绑定如何: 代码隐藏: private Binding _activeBind
这里有我的滑块和文本块的代码 当文本框接收焦点时,简单地更改活动绑定如何: 代码隐藏:
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:
嗯,你能帮我把这个加入我的程序吗?我应该将这4个项目添加到堆栈面板,然后将该metods添加到mainpage.xaml.cs?您不需要将这些项目添加到堆栈面板,这只是我的示例代码。1将ActiveTextbox属性添加到代码隐藏中,就像在我的示例中一样,这将处理绑定更改。2删除文本={绑定…来自文本框的XAML声明。3更改每个文本框的XAML声明中的_GotFocus事件处理程序,以指向我在示例中创建的新方法TextBox_GotFocus方法。在本例中,我的TextBox1、2和3是现有文本框的替代项。找不到类型或命名空间名称绑定。I da删除{Binding…如你所说。还有什么要做的吗?尝试使用System.Windows.Data;添加到mainwindow.xaml.csprivate Binding的顶部_activeBinding;请不要将代码作为外部链接发布。这会使代码无法检索,也意味着要尝试帮助用户离开此网站或打开一个新的浏览器窗口。这是lso意味着如果外部站点由于某种原因关闭,您的问题将变得毫无意义。谢谢:
<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>