2010-10-17 149 views
2

有没有办法在Windows Phone 7的Silverlight中将焦点设置为PanoramaItem?将焦点设置为PanoramaItem

我已经试过:

piResults.Focus(); 

凡piResults是PanoramaItem的名称。 我也试着把焦点放在PanoramaItem中的其中一个控件上,但那也没用。

如果不清楚,我正在尝试执行以下操作: 如果您在一个PanoramaItem上按下按钮,则会转到另一个。

回答

6

你有没有尝试设置PanoramaItem的指数编程一样 -

piResults.DefaultItem = piResults.Items[_panorama_item_index_]; 

这种技术墓碑时是非常有用的。下面是我试过的全景控制的XAML -

<!--Panorama item one--> 
<controls:PanoramaItem Header="first item"> 
    <!--Double line list with text wrapping--> 
    <Button x:Name="FirstButton" Content="Go to second item" 
      Click="FirstButton_Click"/> 

</controls:PanoramaItem> 

<!--Panorama item two--> 
<!--Use 'Orientation="Horizontal"' to enable a panel that lays out horizontally--> 
<controls:PanoramaItem Header="second item"> 
    <!--Double line list with image placeholder and text wrapping--> 
    <Button x:Name="SecondButton" Content="Go to first item" 
      Click="SecondButton_Click"/> 
</controls:PanoramaItem> 

的事件处理程序 -

private void SecondButton_Click(object sender, RoutedEventArgs e) 
{ 
    piResults.DefaultItem = piResults.Items[0]; 
} 

private void FirstButton_Click(object sender, RoutedEventArgs e) 
{ 
    piResults.DefaultItem = piResults.Items[1]; 
} 

希望这有助于。 indyfromoz

+1

谢谢。这样可行。然而,这并不是真正的'平滑',就像擦拭。有没有办法模拟擦拭? – 2010-10-17 13:36:44

+0

您可以使用通过事件处理程序触发的StoryBoard – indyfromoz 2010-10-17 20:58:42