2013-01-02 47 views
2

我在使用命令启动一个新的WPF页面时遇到问题。我尝试通过编写使用新的WPF窗口,但没有任何反应。如何通过按下一个按钮启动一个新的WPF页面

我看不到错误?程序工作正常,但按下按钮时,没有任何反应

我的XAML。

<Button 
      Command="{Binding Path=OpenCrudCommand, UpdateSourceTrigger=PropertyChanged}" 
      Content="CRUD" 
      HorizontalAlignment="Left" 
      Margin="10,352,0,0" 
      VerticalAlignment="Top" 
      Width="83"/> 

我的OpenCrudCommand。

正如你所看到的,我尝试过使用新的WPF窗口,而不是WPF页面,它也没有工作。

1是一个WPF窗口的形式和第2页是一个WPF页形式

{ 
    class OpenCrudCommand 
    { 
     ProductViewModel _avm; 

     public OpenCrudCommand(ProductViewModel avm) 
     { 
      _avm = avm; 
     } 



     public void Execute(object parameter) 
     { 
      var hej = new Page2(); 
      hej.Show(); 
     } 

    } 
} 

我还有一个问题,我应该写命令或视图模型打开一个新页面的代码?

回答

2

为了更加清晰,您将绑定到通用(POCO)类。通常,您必须绑定到一个实现接口的类。搜索RelayCommandDelegateCommand以查看几个实现。现在一旦完成,您将设置一个类(通常是ViewModel类),它将用作WPF窗口的DataContext。然后你会暴露一个公开的命令(即)在您的视图模型的属性

public ICommand MyCommand 
{ 
    get 
    { 
      return this.myCommand; 
    } 
} 

然后你的绑定将沿Command="{Binding MyCommand}"线(你不需要UpdateSourceTrigger属性)。

如果这仍然令人困惑,随时跟进其他问题,但我建议阅读更多关于MVVM pattern

+0

谢谢反弹。它现在有效。 – Zaz

相关问题