1

y スクロールビューアが最後までスクロールしません。限られた位置にヒットします。xamlコードを添付しました.コード内にキャンバスを配置しました.スクロールビューアは2つのグリッド内にあります.

<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>
4

2 に答える 2

1

私はこのSOの質問を見つけました: Canvas 内のコントロールの位置を変更した後、 ScrollBars are not visible、これは基本的に同様の問題です。質問は WPF 固有ですが、WP/Silverlight にも同様に適用できます。

問題はCanvas常にDesiredSize(0, 0) を返すため、ScrollViewer はスクロールする必要があるとは決して考えません。

解決策は簡単です。の代わりにStackPanelまたはを使用するだけです。Canvas が本当に必要な場合は、MeasureOverrideをオーバーライドする必要があります。GridCanvas

于 2012-06-21T15:30:29.987 に答える
0

Canvas使用するのに適したレイアウト パネルではありません。使用している方法で奇妙な動作が発生します。ポジショニングを有限に制御する必要があり、ポップアップするエッジケースをサポートするために重要なロジックを記述したい場合に使用することを意図しています。を使用してみてGrid、列と行で構成してください。

于 2012-06-21T20:25:16.677 に答える