HubSections绑定在UWP Hub中

时间:2017-10-02 22:21:35

标签: .net xaml uwp

我正在尝试创建一个UWP应用。我有一个Hub,其中包含大量HubSections,因此每个部分代表一天(第一天是今天)。

我不知道HubSections的数量,但它们都有相同的内容模板。

除了HubSections之外,我无法向Hub添加任何内容。所以ItemsControl不是一种选择。

如何绑定Hub的HubSections以便动态创建我想要的内容?

我想要实现的目标:

<Hub ItemsSource={Binding MySectionData}>
  <DataTemplate>
     <!-- I would define the HubSection template here -->
  </DataTemplate>
</Hub>

1 个答案:

答案 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