我正在使用
创建一个WPF / xaml应用程序WindowStyle = “无”
因此我必须使用
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
// Begin dragging the window
this.DragMove();
为了使窗口可以在屏幕上拖动。但是我也希望在窗口中制作可拖动的图像,我计划使用
<Image HorizontalAlignment="Right" Height="65" Width="203" Margin="0,278.271,14.434,82.5" Source="Images/Implementation1.png" Stretch="Fill">
<i:Interaction.Behaviors>
<ei:MouseDragElementBehavior ConstrainToParentBounds="True"/>
</i:Interaction.Behaviors>
</Image>
问题是我无法让他们在同一个窗口上工作,因为只有在关闭另一个窗口时它们才会起作用。任何帮助将不胜感激。
答案 0 :(得分:1)
您的OnMouseLeftButtonDown
已在整个窗口中定义,从而干扰MouseDragElementBehavior
的触发器。
在您的窗口中添加Border
,给它一个Background
(Transparent
没问题,只是不要让它没有背景)并听取MouseLeftButtonDown
事件在边界。在事件的处理程序中执行DragMove()
。
您可以将边框作为窗口的标题,也可以将其放在内容后面。