2

サンプルの 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」を指定するにはどうすればよいですか?

4

1 に答える 1

1

コンテンツ テンプレートを使用できます。

<StackPanel Orientation="Vertical">
    <TextBox Text="{Binding CargoBoxNumber}" />
    <ContentControl Content="{Binding TypeOfFruit}"  ContentTemplate="{StaticResource fruitDetails}" />
</StackPanel>
于 2012-08-05T17:48:08.140 に答える