在我的示例WP7应用程序中,我想使用相同的数据模板在所有ItemsControl控件中显示水果。
<DataTemplate x:Key="fruitDetails" >
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Color}" />
</StackPanel >
</DataTemplate>
对于我可以这样绑定的水果列表:
XAML:
<ItemsControl Name="itemControls1" ItemTemplate="{StaticResource fruitDetails }" >
C#
ObservableCollection<Fruit> fruits = new ObservableCollection <Fruit>();
itemControls1.ItemSource = fruits;
但我的一些名单中有水果作为财产:
class CargoBox
{
public int CargoBoxNumber { get; set; }
public Fruit TypeOfFruit { get; set; }
}
ObservableCollection <CargoBox> boxes = new ObservableCollection <CargoBox>();
如果我想使用相同的DataTemplate显示水果,我该如何绑定此列表并指定属性“TypeOfFruit”?
答案 0 :(得分:1)
您可以使用内容模板:
<StackPanel Orientation="Vertical">
<TextBox Text="{Binding CargoBoxNumber}" />
<ContentControl Content="{Binding TypeOfFruit}" ContentTemplate="{StaticResource fruitDetails}" />
</StackPanel>