1

我的程序在 wp7.5 的 ScrollViewer 中使用 MultiScaleImage 以及其他内容。我遇到的问题是当我尝试滚动时,图像呈现在标题窗格的顶部而不是“在”它的“下方”,而所有其他内容都呈现在标题窗格下(被标题窗格切断,正确的行为)

有谁知道这是一个已知问题,还是我做错了什么?

在xml中:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <ScrollViewer>
        <StackPanel>
            <Button>LOL</Button>
            <Grid x:Name="RootGrid" Width="420" Height="374">
                <MultiScaleImage x:Name="MSI"></MultiScaleImage>
            </Grid>
            <Button>LOL</Button>
            <Button>LOL</Button>
            <Button>LOL</Button>
            <Button>LOL</Button>
            <Button>LOL</Button>
            <Button>LOL</Button>
            <Button>LOL</Button>
        </StackPanel>
    </ScrollViewer>
</Grid>

后面的代码:

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
        this.Loaded += new System.Windows.RoutedEventHandler(MainPage_Loaded);
    }

    void MainPage_Loaded(object sender, System.Windows.RoutedEventArgs e)
    {
        this.MSI.Source = new TileSource();
    }
}

public class TileSource : MultiScaleTileSource
{
    public TileSource() :
        base(256, 256, 256, 256, 0)
    {
    }

    protected override void GetTileLayers(int tileLevel, int tilePositionX, int tilePositionY, System.Collections.Generic.IList<object> tileImageLayerSources)
    {
        tileImageLayerSources.Add(new System.Uri(@"someurl"));
    }
}

将其他所有内容的 Z 顺序设置为非常高的值以及纯色背景似乎可行,但这在我当前的项目中是不可行的,因为我们使用的是带有图像作为背景的视图,具有纯色标题窗格将掩盖背景。

谢谢你的帮助!

4

0 回答 0