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