отскок списка wp7 - элементы внизу списка - PullRequest
2 голосов
/ 12 февраля 2011

Я заметил, что последние элементы в моем списке не прокручиваются свободно.Они почти «подпрыгивают», когда я пытаюсь поднять их.Эффект еще хуже, когда у меня активен SIP.Я не могу прокрутить нижние элементы вверх по экрану.Они остаются в нижней части экрана, и я их не вижу (или они частично заблокированы).

Есть идеи, как исправить эту ситуацию?

    <ListBox VerticalAlignment="Top">
        <Grid>

            <TextBox Height="72" Margin="109,10,0,0" HorizontalAlignment="Left" Name="txt1" Text=""  VerticalAlignment="Top" TextWrapping="Wrap" Width="341" InputScope="Text"/>
            <TextBox Height="72" Margin="109,70,267,0" HorizontalAlignment="Left" Name="txt2" Text="0" VerticalAlignment="Top" Width="80" InputScope="Number" />
            <TextBox Height="72" Margin="0,70,73,0" HorizontalAlignment="Right" Name="txt3" Text="0" VerticalAlignment="Top" Width="80" InputScope="Number"/>
            <TextBox Height="131" Margin="12,160,0,0" HorizontalAlignment="Left"  Name="txt4" Text="" VerticalAlignment="Top" TextWrapping="Wrap" Width="438" InputScope="Text"/>
            <TextBox Height="72" Margin="12,320,0,147" HorizontalAlignment="Left" Name="txt5" Text=""  VerticalAlignment="Top" Width="438" InputScope="Text"/>


            <TextBlock Height="30" Margin="47,30,333,0" Name="lbl1" Text="Dosage" VerticalAlignment="Top" />
            <TextBlock Height="30" Margin="10,90,332,0" Name="lbl2" Text="Quantity" VerticalAlignment="Top" />
            <TextBlock Height="30" Margin="0,90,142,0" Name="lbl3" Text="Refills" VerticalAlignment="Top" HorizontalAlignment="Right"/>
            <TextBlock Height="37" Margin="24,135,212,0" Name="lbl4" Text="Additional Instructions" VerticalAlignment="Top" />
            <TextBlock Height="30" Margin="24,293,0,0" Name="lbl5" Text="Reason for Taking" HorizontalAlignment="Left" VerticalAlignment="Top" />
            <TextBlock Height="30" Margin="24,385,0,0" Name="lbl6" Text="Consumption Frequency:" HorizontalAlignment="Left"  VerticalAlignment="Top"/>


            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Left" Margin="27,417,0,0" Name="lblday1" Text="Sun" VerticalAlignment="Top" Width="37" />
            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Left" Margin="83,417,0,0" Name="lblday2" Text="Mon" VerticalAlignment="Top" Width="46" />
            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Right" Margin="0,417,272,0" Name="lblday3" Text="Tue" VerticalAlignment="Top" Width="37" />
            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Left" Margin="203,417,0,0" Name="lblday4" Text="Wed" VerticalAlignment="Top" Width="46" />
            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Left" Margin="263,417,0,0" Name="lblday5" Text="Thur" VerticalAlignment="Top" Width="46" />
            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Left" Margin="329,417,0,0" Name="lblday6" Text="Fri" VerticalAlignment="Top" Width="37" />
            <TextBlock FontWeight="Bold" Height="30" HorizontalAlignment="Left" Margin="388,417,0,0" Name="lblday7" Text="Sat" VerticalAlignment="Top" Width="37" />


            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="15,431,0,0" Name="chkSun" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />
            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="75,431,0,0" Name="chkMon" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />
            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="135,431,0,0" Name="chkTue" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />
            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Right" Margin="0,431,202,0" Name="chkWed" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />
            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="255,431,0,0" Name="chkThu" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />
            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="315,431,0,0" Name="chkFri" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />
            <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="375,431,0,0" Name="chkSat" VerticalAlignment="Top" VerticalContentAlignment="Top" Width="59" />

        </Grid>
    </ListBox>     

ОБНОВЛЕНИЕ:

ОК, я вроде ответил на свой вопрос.По крайней мере, я нашел первоначальный ответ на свой вопрос.Что я сделал, чтобы исправить подпрыгивание, так это изменить свойство высоты в.

<Grid Height="800">

Теперь, когда SIP активен, нижние элементы видны с большим количеством свободного места.Как я уже сказал выше, я нашел ответ.Я не знаю, был ли это правильный ответ.Если у вас есть способ получше, пожалуйста, дайте мне знать.

Когда я тестировал это, да, когда SIP активен, я изначально могу свободно перемещаться вниз.Однако, когда я двигаюсь, пытаюсь вернуться назад, я снова получаю эффект отскока.Есть ли что-то, что мне нужно добавить, чтобы позволить ему свободно двигаться вверх и вниз?

Ответы [ 2 ]

6 голосов
/ 12 февраля 2011

Проблема, как правило, в том, что Listbox не знает, насколько он высокий. Вы можете решить это, установив явную высоту для его родителя, конечно. Лучший способ сделать это - определить для него строку в сетке:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>  
  </Grid.RowDefinitions>
  <ListBox Grid.Row="0">
    ...
  </ListBox>
</Grid>

Высота = "*" говорит, что строка должна занимать все пространство своего контейнера.

0 голосов
/ 12 февраля 2011

ОК, я ответил на свой вопрос. По крайней мере, я нашел ответ на свой вопрос. Что я сделал, чтобы исправить подпрыгивание, так это изменить свойство высоты в.

<Grid Height="800">

Теперь, когда SIP активен, нижние элементы видны с достаточным количеством свободного места.

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

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