【发布时间】:2014-05-24 02:15:05
【问题描述】:
我有一个绑定到类属性的文本框
<TextBox x:Name="TradeTextBox"
Text="{Binding Path=Entier,
Mode=TwoWay,
NotifyOnValidationError=True,
ValidatesOnExceptions=True,
UpdateSourceTrigger=Explicit}"/>
这是我的财产:
private string _entier;
public string Entier
{
get { return _entier; }
set
{
if (!Regex.IsMatch(Entier.Trim(), NumberPattern, RegexOptions.IgnoreCase))
throw new ArgumentException("can only have numbers not characters");
_entier = value;
OnPropertyChanged("Entier");
}
}
如您所见,我正在使用异常验证并通知属性已更改
现在,我的问题是:当我尝试从主类构造函数初始化 textBox.Text 时,文本显示为空......
我尝试过这样做,但有些方法不起作用:
public MyClass()
{
TradeTextBox.Text = "30";
TradeTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}
你能帮帮我吗?请弄清楚为什么我运行应用程序时textBox.text 没有设置为“30”?
【问题讨论】:
-
你应该只更新被绑定的东西,而不是文本框。绑定的全部意义在于更新文本框应该更新的基础值。
标签: c# silverlight xaml input binding