【发布时间】:2012-09-24 15:17:19
【问题描述】:
我在 caliburn micro 中有一个视图和视图模型,如下所示:
查看:
<Canvas>
<Rectangle x:Name="CloseApp" Canvas.Top="0" Canvas.Left="0" Fill="green" Opacity="0.2" Height="20" Width="30" />
<Rectangle x:Name="MoveWindow" Canvas.Top="0" Canvas.Left="60" Fill="red" Opacity="0.2" Height="20" Width="964" cal:Message.Attach="[Event MouseLeftButtonDown] = [Action MoveWindow]" />
</Canvas>
和视图模型
/// </summary>
public void MoveWindow()
{
Window view = this.GetView(null) as Window;
if (view != null)
{
view.DragMove();
}
}
public void CloseApp()
{
}
我注意到当我点击红色矩形并拖动它时,释放左键后,Caliburn 微调用 CloseApp。
为什么它应该调用这个方法?
编辑 1:
我发现如果绿色矩形从 left=1 (canvas.Left="1") 开始,这不会发生。
【问题讨论】:
-
很奇怪。原因似乎是对
view.DragMove()的调用。没有那行,CloseApp就不会被调用。
标签: c# wpf caliburn.micro