1
我已經在我的應用中使用了滾動查看器來顯示圖像。當用戶觸摸顯示器的右側時,我需要將滾動查看器右側的堆棧面板移動到左側,並在用戶觸摸左側時向左移動。我嘗試使用XNA框架,但vector2類不檢查手指的位置。如何實現這一點。想要在用戶觸摸顯示屏的左側部分時觸發事件
我已經在我的應用中使用了滾動查看器來顯示圖像。當用戶觸摸顯示器的右側時,我需要將滾動查看器右側的堆棧面板移動到左側,並在用戶觸摸左側時向左移動。我嘗試使用XNA框架,但vector2類不檢查手指的位置。如何實現這一點。想要在用戶觸摸顯示屏的左側部分時觸發事件
您應該可以掛鉤頁面的MouseLeftButtonDown
事件。然後計算用戶用MouseEventArgs.GetPosition Method觸摸屏幕的位置。這裏有一個簡單的例子來演示這一概念:
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>
代碼
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;
}
}
背後