无法处理按钮单击弹出窗口

时间:2013-05-08 07:08:36

标签: mvvm windows-8 windows-store-apps caliburn.micro

我在我的Windows应用商店中使用CaliburnMicro。所有工作都很棒,但是当我将Button放入Popup时,ViewModel中的方法不会被调用。如果我将Button从Popup移动到Page - 所有这些都像魅力一样。

实施例。码 的.xaml

<Button x:Name="Method1"/>
<Popup  Width="400" Height="300" IsOpen="True">
    <Button x:Name="Method2"/>
</Popup>
ViewModel.cs中的

public void Method1() //this method is called
    {
      var a = 10; 
    }

public void Method2() //this method isn't called
    {
      var a = 10; 
    }

需要一些帮助。

更新

我也尝试添加到我的弹出窗口

 cal:Bind.Model="{Binding}"

在代码中我检查popup.Datacontext是嵌套的ViewModel

1 个答案:

答案 0 :(得分:1)

您可以通过执行类似的操作来显式声明操作消息。

<Popup  Width="400" Height="300" IsOpen="True">
     <Button x:Name="Method2" Content="Popup}"
             cal:Message.Attach="Method2"/>
</Popup>

有关行动here的更多详细信息。