Привязать динамически сгенерированный Grid как DataTemplate к HubSection в C #

1

Я пишу небольшое приложение для Win 8.1 и RT. Я хочу создать концентратор с несколькими разделами. Во время разработки я не знаю, сколько секций будет, и я не знаю об их содержании. Поэтому я просто создаю пустой концентратор в XAML во время разработки:

<Hub x:Name="MainHub" Grid.Row="2" Grid.Column ="1">
</Hub>

Во время выполнения я создаю свои Hubsections с их содержимым komplex. В XAML я бы написал так:

<Hub x:Name="MainHub" Grid.Row="2" Grid.Column ="1">
  <HubSection>
    <DataTemplate>
      <Grid Name="TemplateGrid">
        ...
      </Grid>
    </DataTemplate>
  </HubSection>
</Hub>

Я создал свой TemplateGrid полностью на С#, и теперь я хочу использовать эту сетку в качестве DataTemplate из HubSection (также созданного на С#), чтобы добавить HubSection, наконец, в мой концентратор:

MainHub.Sections.Add(hs);

Как использовать шаблон TemplateGrid в качестве DataTemplate. Я не могу найти никакого решения. Такие простые вещи, как

hs.ContentTemplate = TemplateGrid as DataTemplate;

не работает.

У кого-нибудь есть идея?

Спасибо.

Cy

Теги:
xaml

1 ответ

2

переместите свой шаблон в Page.Resources и установите x: Key как "TemplateGrid",

<Page.Resources>
    <DataTemplate x:Key="TemplateGrid">
      <Grid>
        ...
      </Grid>
    </DataTemplate>
</Page.Resources>

в вашем коде:

hs.ContentTemplate = this.Resources ["TemplateGrid"] как DataTemplate;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню