您好我正在开发一个 MVVM Silverlight 应用程序,我使用 TextBox 的 UpdateSourceTrigger 属性在运行时更新绑定表达式,如下所示:
.xaml.cs:
BindingExpression beID = txtEmpID.GetBindingExpression(TextBox.TextProperty); beID.UpdateSource();
BindingExpression beAge = txtAge.GetBindingExpression(TextBox.TextProperty); beAge.UpdateSource();
.xaml:
<Grid x:Name="LayoutRoot"
Background="White"
DataContext="{Binding Source={StaticResource keyEMPVM},
UpdateSourceTrigger=Explicit}">
//<Grid.RowDefinitions>
//<Grid.ColumnDefinitions>
<sdk:Label Grid.Row="2"
Grid.Column="1"
Target="{Binding ElementName=txtEmpID}" />
<TextBox x:Name="txtEmpID"
Grid.Row="2"
Grid.Column="2"
Style="{StaticResource ContentTextBoxStyle}"
Text="{Binding emp.ID, Mode=TwoWay, ValidatesOnExceptions=True,
ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=Explicit}" />
<sdk:Label Grid.Row="4"
Grid.Column="1"
Target="{Binding ElementName=txtAge}" />
<TextBox x:Name="txtAge"
Grid.Row="4"
Grid.Column="2"
Style="{StaticResource ContentTextBoxStyle}"
Text="{Binding emp.Age, Mode=TwoWay, ValidatesOnExceptions=True,
ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=Explicit}" />
<Button x:Name="btnSubmit"
Grid.Row="6"
Grid.Column="1"
Grid.ColumnSpan="2"
Style="{StaticResource ContentButtonStyle}"
Content="Submit"
Command="{Binding Path=UpdateEmployee}"
CommandParameter="{Binding emp.ID}" />
在这种情况下,我为每个文本框手动执行绑定表达式。有没有一种方法可以在单个实例中为网格内的所有文本框控件执行此绑定表达式。