我正在尝试创建一个游戏,在滚动查看器中有一个可滚动的地图,我指的是gameMap。但在滚动查看器中操作元素时,我在平滑度方面遇到了问题。
因此,我偶然发现了Viewbox和viewportcontrol。我试着读过这些,但没有找到任何真正能描述的东西,甚至在msdn上也没有。
因此,我想知道是否有人有使用其他控件的经验,并能告诉我他们在基于地图的游戏中使用是否明智,也许还有一个链接来描述这些控件的使用情况?
我正在使用Bing地图任务。它非常流畅。
这是Xaml代码。
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<StackPanel x:Name="stkhead" Grid.Row="0">
<TextBlock Text="Bing Map and Location Service" HorizontalAlignment="Center"></TextBlock>
</StackPanel>
<StackPanel x:Name="stkInfo" Grid.Row="1">
<TextBlock x:Name="tblcurpos" Text="Current Position :-" Width="150" HorizontalAlignment="Left"/>
<TextBlock x:Name="tblcurpos1" Text="" Width="120" HorizontalAlignment="Center" Margin="0,-25,0,0"/>
</StackPanel>
<StackPanel x:Name="stkmap" Grid.Row="2">
</StackPanel>
<StackPanel x:Name="stksearch" Grid.Row="3">
<TextBlock x:Name="tblsearch" Text="Search"></TextBlock>
<TextBox x:Name="txtsearch" Width="380" Margin="0,-38,0,0" Text=""></TextBox>
<Button Name="btnsearch" Content="Search" Height="75" Width="195" Tap="btnsearch_Tap_1"></Button>
</StackPanel>
</Grid>
这是C#代码。
public MainPage()
{
InitializeComponent();
FindMe();
}
private void Bingtask()
{
BingMapsTask bingMap = new BingMapsTask();
bingMap.SearchTerm = txtsearch.Text;
bingMap.ZoomLevel = 10;
bingMap.Show();
}
private void FindMe()
{
tblcurpos1.Text = "Not Found";
}
private void btnsearch_Tap_1(object sender, System.Windows.Input.GestureEventArgs e)
{
Bingtask();
}
我发现滚动查看器和viewbox在一起工作时存在问题。或者至少我遇到过大问题。因此Viewportcontrol是可行的,因为它包含了视口和滚动查看器。
最后,它是viewportcontroller,它是长列表选择器的基础,这意味着viewportcontrollers是有用的,你只需要让它工作:)