我正在使用VS2010和Silverlight 5。
我有一个sinple Silverlight项目,它声明了一个类(Student)和一个带有绑定到Student属性的文本框的视图。
如果输入的年龄是<,则Student类会抛出异常。 100或者< 0,然后在绑定到Age的文本框中,我标记:ValidatesOnException = True。
我使用VS2010运行应用程序,并且“绑定引擎”不会拦截异常,它只会对用户造成冲击。
但如果我用VS2012运行它,一切都会好的。如果输入错误,文本框将以红色突出显示,并显示错误
我希望能够使用VS2010。
可能是因为我在同一台机器上安装了VS2010和VS2012。我已经安装了很长一段时间,没有任何其他问题。
这是我的学生班:
public class Student {
private string _name;
public string Name {
get { return _name; }
set { _name = value; }
}
private int _age;
public int Age {
get { return _age; }
set {
if (value > 100 || value < 0) {
throw new Exception("Please enter an age between 0 and 100");
}
_age = value;
}
}
}
这是观点:
<Grid x:Name="LayoutRoot"
Background="White">
<TextBlock Height="23"
HorizontalAlignment="Left"
Margin="66,48,0,0"
Name="textBlock1"
Text="Name"
VerticalAlignment="Top" />
<TextBox Name="txtName"
Text="{Binding Name, Mode=TwoWay, ValidatesOnExceptions=True}"
Height="23"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="185"
Margin="121,44,0,0" />
<TextBlock Height="23"
HorizontalAlignment="Left"
Margin="78,77,0,0"
Name="textBlock2"
Text="Age"
VerticalAlignment="Top" />
<TextBox Name="txtAge"
Text="{Binding Age, Mode=TwoWay, ValidatesOnExceptions=True}"
Height="23"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="120"
Margin="121,73,0,0" />
</Grid>
它可能是什么?