1

私はこのコードを持っています:

      <Grid x:Name="LayoutRoot">
   <Grid HorizontalAlignment="Left" Height="900" Width="1200">
   <Grid.RowDefinitions>
            <RowDefinition Height="300"></RowDefinition>
            <RowDefinition Height="200"></RowDefinition>
            <RowDefinition Height="200"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="300"></ColumnDefinition>
            <ColumnDefinition Width="300"></ColumnDefinition>
            <ColumnDefinition Width="300"></ColumnDefinition>
            <ColumnDefinition Width="300"></ColumnDefinition>
        </Grid.ColumnDefinitions>
    <ListBox x:Name="lst1" Width="300" Height="100" Grid.Row="0" Grid.Column="0">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Margin="3">
                            <TextBlock Text="Id:" Foreground="Brown"></TextBlock>
                            <TextBlock Text="{Binding Id}" Foreground="Blue"></TextBlock>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
  </ListBox>
  <ListBox x:Name="lst1" Width="300" Height="100" Grid.Row="0" Grid.Column="1"/>
  <ListBox x:Name="lst2" Width="300" Height="100" Grid.Row="0" Grid.Column="2"/>
  <ListBox x:Name="lst3" Width="300" Height="100" Grid.Row="0" Grid.Column="3"/>
  </Grid>
    </Grid>

Silverlight を使用してコード ビハインドで DataTemplate/ItemTemplate を作成するにはどうすればよいですか?

4

1 に答える 1

0

動的に作成するDataTemplateには、またはなどのXML操作オブジェクトを使用してそれを記述するXaml文字列を作成する必要がありXDocumentますXmlTextWriter。このXamlのルートはDataTemplateそれ自体である必要があります(または正しい名前空間を含めることを忘れないでください)。

次に、結果の文字列を渡すことができますXamlReader.Load。これにより、が作成され、のプロパティにDataTemplate割り当てられます。ItemTemplateListBox

于 2010-03-02T10:06:09.797 に答える