Создание концентратора как Pivot на WP 8.1

То, что я пытаюсь сделать, было чрезвычайно просто в SL/WP 8, но кажется невозможным в WP 8.1 без самостоятельного переопределения шаблона Hub. Я хочу создать концентратор с заголовком, который:

  1. Прокручивается горизонтально.
  2. Имеет фон, который прокручивается вместе с ним.
  3. Не имеет полей с обеих сторон.

Я знаю, что это, вероятно, можно решить, просто если мое фоновое изображение будет включать фон, а концентратор просто будет прозрачным, но я хотел знать, есть ли способ решить эту проблему в XAML.

Помещение Grid с фоном в заголовок Hub просто выделяет фон столько, сколько нужно концентратору, а не растягивает его полностью:

<Hub>
    <Hub.Header>
        <Grid Background="Red" Height="60">
            <TextBlock Text="My Header" />
        </Grid>
    </Hub.Header>
</Hub>

Приведенное выше делает заголовок с текстом «Мой заголовок», но только текстовая часть имеет фон. Кроме того, у самого Hub внутренние поля равны 16 с каждой стороны, поэтому фон не растягивается на весь экран телефона.

Должен ли я просто использовать фон или деконструировать шаблон, чтобы удалить поля?


person sohum    schedule 05.08.2014    source источник


Ответы (1)


Далеко не элегантное решение, но в основном я поместил фон за пределы концентратора и задал ему отрицательные поля вот так. Хаки, но я думаю, это работает.

<Grid>
    <!-- This is the header bar -->
    <Grid Height="64" Background="Red" />
    <Hub>
        <Hub.Header>
            <StackPanel Margin="-6,0,0,0">
                ...
            </StackPanel>
        </Hub.Header>

        <!-- actually just defined the margin in my ResourceDictionary to target all HubSections -->
        <HubSection Header="section 1" Margin="-2,-20,-4,8" />
        <HubSection Header="section 2" Margin="-2,-20,-4,8" />
    </Hub>
</Grid>
person sohum    schedule 10.09.2014