我的程序在 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 顺序设置为非常高的值以及纯色背景似乎可行,但这在我当前的项目中是不可行的,因为我们使用的是带有图像作为背景的视图,具有纯色标题窗格将掩盖背景。
谢谢你的帮助!