在双向绑定中,用户可以通过用户界面修改数据,并在源中更新数据。如果在用户查看视图时更改源,则需要更新视图。
让我们看看下面的示例,其中一个组合框具有三个组合框项目和一个文本框,并创建了一些属性。在此示例中,我们没有任何标准数据源,但UI元素绑定到其他UI元素。
XAML代码:
<Window x:Class="点击事件.双向绑定数据"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:点击事件"
mc:Ignorable="d"
Title="双向绑定数据" Height="450" Width="800">
<!--栈面板-->
<StackPanel>
<!--下拉框-->
<ComboBox Name = "comboBox" Margin = "50" Width = "100">
<ComboBoxItem Content = "Green" />
<ComboBoxItem Content = "Yellow" IsSelected = "True" />
<ComboBoxItem Content = "Orange" />
</ComboBox>
<TextBox Name = "textBox" Margin = "50"
Width = "100" Height = "23" VerticalAlignment = "Top"
Text = "{Binding ElementName = comboBox, Path = SelectedItem.Content,
Mode = TwoWay, UpdateSourceTrigger = PropertyChanged}"
Background = "{Binding ElementName = comboBox, Path = SelectedItem.Content}">
</TextBox>
</StackPanel>
</Window>
编译并执行上面的代码时,它将产生以下输出。当用户从组合框中选择项目时,文本框文本和背景颜色将相应地更新。
同样,当用户在文本框中键入有效的颜色名称时,组合框和文本框背景颜色也将更新。