ObservableCollection 类型的数据绑定:
首先要定义显示的格式 ,先建立一个resource.xaml文件 在里面定义显示的格式
<Style x:Key="GroceryListItem" TargetType="TextBlock"
BasedOn="{StaticResource BasicTextStyle}" >
<!--文本框的文字的尺寸-->
<Setter Property="FontSize" Value="45"/>
<!--文本加粗的方式-->
<Setter Property="FontWeight" Value="Light"/>
<!--对齐方式-->
<Setter Property="Margin" Value="10, 0"/>
<!--垂直的对齐方式-->
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<!--相应数据的模板-->
<DataTemplate x:Key="GroceryListItemTemplate">
<!--布局控件-->
<StackPanel Orientation="Horizontal">
<!--控件的布局-->
<TextBlock Text="{Binding Quantity}"
Style="{StaticResource GroceryListItem}" Width="50"/>
<TextBlock Text="{Binding Name}"
Style="{StaticResource GroceryListItem}" Width="200"/>
<TextBlock Text="{Binding Store}"
Style="{StaticResource GroceryListItem}" Width="300"/>
</StackPanel>
</DataTemplate>
当数据绑定以后遇到界面显示不了的问题,发现是初始化时构造函数的语句的顺序有问题
this.InitializeComponent();
this.DataContext = viewModel;
当顺序为以上顺序能显示,顺序相反显示不了
List类型数据绑定时又遇到数据显示不了
如定义了一个List<string> storeList 的变量
如果按照ObservableCollection 类型 先定义一个数据的显示格式 如
<DataTemplate x:Key="StoreListTemplate">
<!--布局控件-->
<StackPanel Orientation="Horizontal">
<!--控件的布局-->
<TextBlock Text="{Binding Store}"
Style="{StaticResource GroceryListItem}" />
</StackPanel>
</DataTemplate>
再绑定数据和格式后就显示不了List<string> storeList,如果声明要显示的格式,既不定义ItemTemplate属性 就能正常显示storeList了