2012-06-21 3 views
1

y мой scrollviewer не прокручивается до конца. Он попадает в ограниченное положение. i hav прикрепил свой код xaml.i, помещенный в код внутри кода. Scrollviewer находится внутри 2 сеток.scrollviewer не работает

<ScrollViewer> 
    <Canvas Margin="0,0,0,0"> 
     <toolkit:ListPicker x:Name="listPicker" ItemTemplate="{StaticResource PickerItemTemplate}" 
        FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}" CacheMode="BitmapCache" 
        Header="" Margin="12,246,210,298" FontFamily="Yu Gothic" FontSize="22" FontWeight="SemiBold" Width="240" /> 

     <toolkit:ListPicker x:Name="listPicker2" ItemTemplate="{StaticResource PickerItemTemplate}" ItemCountThreshold="3" 
        FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}" CacheMode="BitmapCache" 
        Header="" Margin="9,343,210,206" Width="240" /> 
     <toolkit:ListPicker CacheMode="BitmapCache" FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}" Header="" ItemCountThreshold="3" ItemTemplate="{StaticResource PickerItemTemplate}" Margin="12,440,210,108" Name="listPicker1" Width="240" /> 
     <toolkit:ListPicker CacheMode="BitmapCache" FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}" Header="" ItemCountThreshold="3" ItemTemplate="{StaticResource PickerItemTemplate}" Margin="11,546,210,2" Name="listPicker3" Width="240" /> 

     <TextBlock Height="40" HorizontalAlignment="Left" Margin="30,212,0,0" Name="textBlock1" Text="MONTHLY DEBTS" VerticalAlignment="Top" Width="185" FontSize="24" /> 
     <TextBlock Height="40" HorizontalAlignment="Left" Margin="290,212,0,0" Name="textBlock2" Text="AMOUNTS" VerticalAlignment="Top" Width="147" FontSize="24" /> 

     <clrtb:ClearableTextBox Canvas.Left="246" Canvas.Top="242" Height="75" Name="qualifytb" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="242" Canvas.Top="338" Height="75" Name="clearableTextBox1" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="246" Canvas.Top="436" Height="75" Name="clearableTextBox2" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="244" Canvas.Top="542" Height="75" Name="clearableTextBox3" Width="208" /> 
     <TextBlock Text="DEBT RATIO" Canvas.Left="148" Canvas.Top="642" FontSize="26" FontWeight="Medium" /> 
     <TextBlock Text="Conv Debt Ratio:" Canvas.Left="30" Canvas.Top="700" FontSize="26" FontWeight="Medium" /> 
     <TextBlock Text="FHA Debt Ratio:" Canvas.Left="30" Canvas.Top="800" FontSize="26" FontWeight="Medium" /> 
     <TextBlock Text="VA Debt Ratio:" Canvas.Left="30" Canvas.Top="900" FontSize="26" FontWeight="Medium" /> 
     <clrtb:ClearableTextBox Canvas.Left="250" Canvas.Top="700" Height="75" Name="rt1" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="320" Canvas.Top="700" Height="75" Name="rt2" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="250" Canvas.Top="800" Height="75" Name="rt3" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="320" Canvas.Top="800" Height="75" Name="rt4" Width="208" /> 
     <clrtb:ClearableTextBox Canvas.Left="250" Canvas.Top="900" Height="75" Name="rt5" Width="208" /> 
    </Canvas> 
</ScrollViewer> 
+0

код не является полным, показывает начало ScrollViewer также – nkchandra

+0

привет Chandra, просто пропустил 2 поля не в состоянии edit.thank U –

+0

Я видел такое поведение уже в некоторых приложениях. Он должен иметь какое-то отношение к алгоритму компоновки, который не может определить высоту некоторых элементов. –

ответ

1

Я нашел это так вопрос: ScrollBars are not visible after changing positions of controls inside a Canvas, которая в основном аналогичная проблема. Этот вопрос специфичен для WPF, но может быть применен и к WP/Silverlight.

Проблема Canvas всегда будет возвращать DesiredSize (0, 0), поэтому ScrollViewer никогда не подумает, что ей нужно прокручивать.

Решение простое: используйте StackPanel или Grid вместо Canvas. Если вам действительно нужен холст, вам нужно переопределить MeasureOverride.

0

Canvas не является подходящей макетной панелью, она будет создавать странное поведение, как вы ее используете. Он предназначен для использования, когда вам нужен конечный контроль над позиционированием, и вы готовы написать значительную логику для поддержки появляющихся красных случаев. Попробуйте использовать Grid и настройте его с помощью столбцов и строк.

Смежные вопросы