Uygulamam için çok basit bir “sürükle” mekanizması uygulamak için (bir 'ebeveyn' tuvalinin içine yerleştirilmiş çok sayıda kanveden oluşur) aşağıdaki bitler ile geldim kod:WPF'de sürüklenebilir tuvali 'Thumb' Kullanarak
(sadece ilgili bitlerini Gösterilen kaydetmek için boşluk)
MainWindow.xaml
<Canvas Name="parentCanvas" Background="#FFE8CACA">
<Canvas Name="myCanvas" Height="100" Width="200" Background="#FFB4FFB4">
<Thumb Name="myThumb" Canvas.Left="0" Canvas.Top="0" Background="Blue" Width="200" Height="20" DragDelta="onDragDelta" />
</Canvas>
<!-- debug -->
<Button Content="Zero" Height="51" Name="button1" Width="46" Click="button1_Click" Canvas.Left="14" Canvas.Top="302" />
<Label Name="pos" Width="499" Canvas.Left="77" Canvas.Top="302" Height="26" />
<Label Name="changes" Height="28" Canvas.Left="77" Canvas.Top="325" Width="499" />
</Canvas>
MainWindow.xaml.cs
void onDragDelta(object sender, DragDeltaEventArgs e)
{
Canvas.SetLeft(myCanvas, e.HorizontalChange);
Canvas.SetTop(myCanvas, e.VerticalChange);
//debug info
pos.Content = "Left: " + Canvas.GetLeft(myCanvas) + ", Top: " + Canvas.GetTop(myCanvas);
changes.Content = "Horizontal: " + e.HorizontalChange + ", Vertical: " + e.VerticalChange;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Canvas.SetLeft(myCanvas, 0);
Canvas.SetTop(myCanvas, 0);
}
Rasgele çalışacak gibi görünüyor! Fare hareketlerini takip ediyor gibi görünüyor, ancak tuvalin çok dengesiz hareketine neden olan DragDeltaEventArgs
'u yorumlamada sorun yaşıyorum. Bunu açıklamak zor bir şey, işte burada yakaladığım kısa bir video: http://img84.imageshack.us/img84/6614/drag.mp4
Herhangi bir yorum/öneriye şükürler olsun ki, bir süredir bunun içindeyim. bu işle :(
Şimdi anladım, açıklama için çok teşekkürler :) – Hamza