UpdateSourceTrigger:获取或设置一个值,确定绑定源更新的时机。默认值是Default
Default :绑定目标属性的默认 System.Windows.Data.UpdateSourceTrigger 值。 大多数依赖属性的默认值为 UpdateSourceTrigger.PropertyChanged,而TextBox.Text 属性的默认值为 UpdateSourceTrigger.LostFocus。
PropertyChanged: 每当绑定目标属性发生更改时,都会更新绑定源。
LostFocus :每当绑定目标元素失去焦点时,都会更新绑定源。
Explicit:仅在调用 BindingExpression.UpdateSource 方法时更新绑定源。
<WrapPanel Grid.Row="1" Margin="10">
<TextBlock Text="window title"/>
<TextBox x:Name="txtTitle" Text="{Binding Title,UpdateSourceTrigger=Default}" Width="100" Margin="5 0 5 0"/>
<Button x:Name="_btnUpdateSource" Content="update source" Click="_btnUpdateSource_Click"/>
</WrapPanel>
<WrapPanel Grid.Row="2" Margin="10">
<TextBlock Text="window dimensions:"/>
<TextBox x:Name="txtWidth" Text="{Binding Width,UpdateSourceTrigger=LostFocus}" Width="50"/>
<TextBlock Text="x"/>
<TextBox x:Name="txtHeigth" Text="{Binding Height,UpdateSourceTrigger=PropertyChanged}" Width="50"/>
</WrapPanel>
private void _btnUpdateSource_Click(object sender, RoutedEventArgs e)
{
BindingExpression binding = _txtwindow.GetBindingExpression(TextBox.TextProperty);//获取目标控件的绑定
binding.UpdateSource();
}
修改 txtTitle 后点击update source按钮,窗体Title改变
修改txtWidth后改变鼠标焦点,窗体宽度更新
修改txtHeight,窗体高度更新