Левый заголовок и ItemsPresenter UWP ScrollViewer

Я пытаюсь зафиксировать левый заголовок в средстве просмотра прокрутки, но его высота не равна представителю элементов. Я дал фрагмент кода.

<ItemsControl>
    <ItemsControl.Template>
        <ControlTemplate>
            <ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Visible"
              ScrollViewer.HorizontalScrollMode="Enabled"
              HorizontalSnapPointsType="Mandatory">
                <ScrollViewer.LeftHeader>
                    <Grid Width="190" Height="1000" Background="Black"/>
                </ScrollViewer.LeftHeader>
                <ItemsPresenter HorizontalAlignment="Left"
                                VerticalAlignment="Top"/>

            </ScrollViewer>

        </ControlTemplate>

    </ItemsControl.Template>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <ItemsStackPanel Orientation="Horizontal" ItemsUpdatingScrollMode="KeepItemsInView">
            </ItemsStackPanel>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.Items>
        <Grid Width="1536" Height="1000" Background="Yellow"/>
        <Grid Width="1536" Height="1000" Background="Red"/>
        <Grid Width="1536" Height="1000" Background="Black"/>
    </ItemsControl.Items>
</ItemsControl>

Вам нужно прокрутить вверх, чтобы увидеть пробел.


person Saravana Kumar    schedule 14.06.2017    source источник
comment
Кажется, что все они имеют ту же высоту, что и ваш код, специально установив для них 1000.   -  person Justin XL    schedule 14.06.2017
comment
Ожидается, что он будет такой же высоты, но не такой. В левом заголовке указана высота экрана. Но я дал 1000 объяснений.   -  person Saravana Kumar    schedule 14.06.2017
comment
Да. Я вижу их всех одинакового роста. Прямая копия из вашего кода.   -  person Justin XL    schedule 14.06.2017
comment
Извини, Джастин, у меня это работает не так, как ожидалось. Не уверен, в чем проблема. Код является общим - это то, над чем я также работаю. Но левый заголовок Сетка черного цвета кажется короче, чем другие сетки в элементе управления. Прокрутите вниз и посмотрите, есть ли разница в высоте @JustinXL   -  person Saravana Kumar    schedule 15.06.2017
comment
О ... так что тебе нужно прокрутить, чтобы увидеть это ... Мое плохое. Мне кажется, это ошибка.   -  person Justin XL    schedule 15.06.2017


Ответы (1)


Я протестировал ваш код и воспроизвел вашу проблему. Я сообщу об этой проблеме соответствующей команде. В настоящее время один обходной путь для исправления содержимого LeftHeader заключается в том, что вы можете заключить Grid в Canvas, как в следующем коде.

<ScrollViewer.LeftHeader >
    <Canvas>
        <Grid Width="190" Height="1000" Background="Red" />
    </Canvas>
</ScrollViewer.LeftHeader>
person Nico Zhu - MSFT    schedule 15.06.2017
comment
Спасибо, это спасло мне день. - person Saravana Kumar; 15.06.2017
comment
Если у вас все еще есть другие вопросы, напишите здесь. - person Nico Zhu - MSFT; 15.06.2017
comment
Если вы считаете, что этот ответ помогает, примите его. - person Justin XL; 15.06.2017