我尝试根据鼠标位置移动按钮,但是当按钮被移动时它会闪烁。请参考下面的代码,
XAML代码如下:
<Button Name="Samplebutton"
PreviewMouseDown="Samplebutton_PreviewMouseDown"
PreviewMouseUp="Samplebutton_PreviewMouseUp"
PreviewMouseMove="Samplebutton_PreviewMouseMove"
Content="Moving" Width="100" Height="35"/>
CS,
private bool m_IsPressed = false;
private void Samplebutton_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
{
m_IsPressed = true;
}
else
{
m_IsPressed = false;
}
}
private void Samplebutton_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
m_IsPressed = false;
}
private void Samplebutton_PreviewMouseMove(object sender, MouseEventArgs e)
{
if (m_IsPressed)
{
TranslateTransform transform = new TranslateTransform();
transform.X = Mouse.GetPosition(sender as Button).X;
transform.Y = Mouse.GetPosition(sender as Button).Y;
this.Samplebutton.RenderTransform = transform;
}
}
请问有人可以提供建议吗?