2013-01-02 52 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

相關問題