Сохранение контроля в видимой области - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть сетка с несколькими текстовыми полями.Я хочу сохранить эту сетку в нижней части моего главного окна.Поэтому, если пользователь прокручивает сетку вниз, он должен оставаться на своем месте.

Один из способов сделать это - получить какое-то значение из ScrollViewer и добавить его в сетки Canvas.TopProperty.Однако я не уверен, какое значение изменяется, когда пользователь прокручивает вверх или вниз.

Ответы [ 2 ]

3 голосов
/ 05 декабря 2011

Тогда не кладите свиток в главное окно.Поместите ScrollViewer только на контент (строки), который вы хотите прокрутить.Будьте осторожны, не используйте auto для высоты строк с помощью ScrollViewer, иначе контейнер будет расти для поддержки всего содержимого, и Scroll не будет задействован.

0 голосов
/ 05 декабря 2011

В одну сторону:

<Window x:Class="Sample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
<Grid>
    <ListBox>
        <!--Hardcoded listbox items just to force the scrollbar for demonstration purposes -->
        <ListBoxItem>Item1</ListBoxItem>
        <ListBoxItem>Item2</ListBoxItem>
        <ListBoxItem>Item3</ListBoxItem>
        <ListBoxItem>Item4</ListBoxItem>
        <ListBoxItem>Item5</ListBoxItem>
        <ListBoxItem>Item6</ListBoxItem>
        <ListBoxItem>Item7</ListBoxItem>
        <ListBoxItem>Item8</ListBoxItem>
        <ListBoxItem>Item9</ListBoxItem>
        <ListBoxItem>Item10</ListBoxItem>
        <ListBoxItem>Item11</ListBoxItem>
        <ListBoxItem>Item12</ListBoxItem>
        <ListBoxItem>Item14</ListBoxItem>
        <ListBoxItem>Item15</ListBoxItem>
        <ListBoxItem>Item16</ListBoxItem>
        <ListBoxItem>Item17</ListBoxItem>
        <ListBoxItem>Item18</ListBoxItem>
        <ListBoxItem>Item19</ListBoxItem>
        <ListBoxItem>Item20</ListBoxItem>
        <ListBoxItem>Item21</ListBoxItem>
        <ListBoxItem>Item22</ListBoxItem>
    </ListBox>
    <Grid Panel.ZIndex="5" VerticalAlignment="Bottom" Background="DarkGray">
        <StackPanel>
            <TextBox HorizontalAlignment="Left" VerticalAlignment="Center">Text box 1</TextBox>
            <TextBox HorizontalAlignment="Left" VerticalAlignment="Center">Text box 2</TextBox>
            <TextBox HorizontalAlignment="Left" VerticalAlignment="Center">Text box 3</TextBox>
        </StackPanel>
    </Grid>
</Grid>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...