我正在尝试创建一个UWP应用。我有一个Hub
,其中包含大量HubSections
,因此每个部分代表一天(第一天是今天)。
我不知道HubSections
的数量,但它们都有相同的内容模板。
除了HubSections之外,我无法向Hub
添加任何内容。所以ItemsControl
不是一种选择。
如何绑定Hub的HubSections
以便动态创建我想要的内容?
我想要实现的目标:
<Hub ItemsSource={Binding MySectionData}>
<DataTemplate>
<!-- I would define the HubSection template here -->
</DataTemplate>
</Hub>
答案 0 :(得分:1)
如何绑定Hub的HubSections以便动态创建多个?
要动态创建HubSections
,您可以简单地创建它们代码。由于所有HubSections
都与您描述的ContentTemplate
相同,因此您可以在XAML中定义DataTemplate
,并在动态时将源设置为ContentTemplate
的{{1}}添加HubSection
。例如:
XAML代码:
HubSection
代码背后:
<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>
更多详情请参阅Using a hub。