2012-04-15 11 views
1

自分のアプリでスクロールビューアーを使用して画像を表示しました。私は、ユーザーがディスプレイの右側をタッチするとスクロールビューワの右側にスタックパネルを移動し、ユーザーが左側にタッチすると左に移動する必要があります。私はXNAフレームワークで試みますが、vector2クラスは指の位置をチェックしません。これを達成する方法。ユーザーがディスプレイの左部分をタッチしたときにイベントをトリガーしたい

答えて

0

ページのMouseLeftButtonDownイベントにフックできる必要があります。そして、ユーザーがMouseEventArgs.GetPosition Methodで画面に触れた場所を計算します。ここでは、この概念を実証するための基本的な例です:

public MainPage() 
{ 
    InitializeComponent(); 

    this.MouseLeftButtonDown += OnMouseDown; 
} 

private void OnMouseDown(object sender, MouseButtonEventArgs e) 
{ 
    Point pos = e.GetPosition(this); 

    double half = this.ActualWidth/2; 

    if(pos.X < half) 
    { 
     MyStackPanel.HorizontalAlignment = HorizontalAlignment.Right; 
    } 
    else 
    { 
     MyStackPanel.HorizontalAlignment = HorizontalAlignment.Left; 
    } 
} 
の後ろ

XAML

<ScrollViewer Background="Red"> 
    <StackPanel x:Name="MyStackPanel" 
       Orientation="Vertical" 
       Width="150" 
       Background="Black" 
       HorizontalAlignment="Left"> 
     <ItemsControl ItemsSource="{Binding Images}"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <Image Source="{Binding}" Width="48" Height="48" /> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
    </StackPanel>     
</ScrollViewer> 

コード

関連する問題