私は動的に必要な数を作成するために、ハブのHubSectionsをバインドするにはどうすればよいですか?
HubSections
を動的に作成するには、コードを後で作成するだけです。 HubSections
は前述のとおりContentTemplate
と同じなので、HubSection
を動的に追加すると、XAMLにDataTemplate
を定義し、HubSection
のソースをContentTemplate
に設定することができます。
XAMLコード:背後
<Page.Resources>
<DataTemplate x:Key="FeaturedSectionTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Style="{StaticResource SubheaderTextBlockStyle}"
Grid.Row="1" Margin="0,10,0,0" TextWrapping="Wrap"
Text="Lorem ipsum dolor sit nonumy sed consectetuer ising elit, sed diam"/>
<TextBlock Style="{StaticResource TitleTextBlockStyle}" Grid.Row="2" Margin="0,10,0,0"
Text="Description text:"/>
<TextBlock Style="{StaticResource BodyTextBlockStyle}" Grid.Row="3"
Text="Lorem ipsum dolor sit amet, consectetuer ising elit... "/>
</Grid>
</DataTemplate>
コード:たとえば
private void Page_Loaded(object sender, RoutedEventArgs e)
{
for (int i = 0; i < 8; i++)
{
HubSection s = new HubSection
{
Name = "name1",
Header = "More...",
//IsHeaderInteractive = true,
Width = 500,
Height = 420,
ContentTemplate = (DataTemplate)this.Resources["FeaturedSectionTemplate"]
};
MyHub.Sections.Add(s);
}
}
詳細はUsing a hubを参照してください。