该示例演示如何通过绑定的方式把ListBox中选中的值显示到 TextBlock中,布局中用到了grid控件,将它分为3行2列,StackPanel堆叠控件,里面放ListBox和TextBlock控件。
首先,给ListBox添加了多个 ListBoxItem,做为ListBox的选项 。 其次,把第二个 TextBlock 的 Text通过 Binding 与 ListBox 选择项进行绑定。Binding 语法中的 ElementName 属性指示 TextBlock 的 Text 属性要与其绑定的控件的名称。Path 属性指示我们将绑定到Text属性上ListBox元素的属性。具体代码如下:
<Window x:Class="WpfApp6.BindWindow"
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:WpfApp6"
mc:Ignorable="d"
Title="BindWindow" Height="765" Width="980">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="250"/>
<RowDefinition Height="150"/>
<RowDefinition Height="138*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0">
<TextBlock Width="248" Height="24" Text="简单绑定,股票名称:" TextWrapping="Wrap" FontSize="15"/>
<ListBox Name="mylista" Width="348" Height="150" FontSize="15" Margin="0,0">
<ListBoxItem Content="全通教育"/>
<ListBoxItem Content="京大智慧"/>
<ListBoxItem Content="宝钢股份"/>
<ListBoxItem Content="浦发银行"/>
<ListBoxItem Content="工商银行"/>
<ListBoxItem Content="中国建筑"/>
<ListBoxItem Content="长城汽车"/>
<ListBoxItem Content="山东电子"/>
<ListBoxItem Content="浙江吉利"/>
</ListBox>
<TextBlock Width="248" Height="24" Text="你选中的股票:" Margin="0,5,110,0" FontSize="15"/>
<!--ElementName 属性指示要绑定的控件名称。Path 属性指示绑定到ListBox元素的属性-->
<TextBlock Width="248" Height="24" Text="{Binding ElementName=mylista,Path=SelectedItem.Content}" FontSize="15" Margin="0,0,110,0"/>
</StackPanel>
</Grid>
</Window>
效果如下:
选择不同的股票,文本显示所选择内容
绑定代码:<TextBlock Width="248" Height="24" Text="{Binding ElementName=mylista,Path=SelectedItem.Content}" FontSize="15" Margin="0,0,110,0"/>
效果妥妥的!good.