WPF 绑定方式举例
一、如果ItemsControl 控件的ItemsSource要绑定到List类型,可以如下:
List<string> Names = new List<string>();
Names.Add("aaa");
Names.Add("bbb");
<ItemsControl ItemsSource="{Binding Student}" VerticalAlignment="Center">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding .}" Width="60" Height="22" Margin="0 0 10 0"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
二、ItemControl的子项怎么绑定与父项同一级的属性,如下:
<ItemsControl ItemsSource="{Binding YourCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- 绑定到与ItemsControl同一级别的属性 -->
<TextBlock Text="{Binding
RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}},
Path=DataContext.YourProperty}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
三、ItemsControl中的子项的按键如何绑定与父项同一级的事件,如下:
<ItemsControl ItemsSource="{Binding YourCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Command="{Binding DataContext.TextChangedCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ItemsControl}}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>