簡體   English   中英

使用帶有 MVVM 的 WPF 從主 window 打開子 window 的問題

[英]Issue with opening Child window from Main window using WPF with MVVM

我正在使用 MV-VM 學習 WPF。 我正在使用ICommandRelayCommand 我有幾個視圖、模型和視圖模型。 MainWINdowView 在應用程序啟動時打開。 MainWindowView 有一個按鈕,可通過 MainWindowViewModel 打開另一個名為“FileListview”的 WPF window。 FileListView 有一個“View Lookup”按鈕,它應該通過 FileListViewModel 打開另一個名為“LookupView”的 WPF window。 但除非我在 App.xaml.cs 中指定 FileListView 而不是 MainWIdowView,否則我無法使此按鈕工作。 如果我讓應用程序從“FileListView”開始,我無法理解為什么“查看查找”按鈕會起作用。 我也不明白是否需要 model 用於 MainWindowView 和 FileListView,因為除了一個視圖的按鈕正在打開另一個視圖之外,我什么都沒有。 在文件“App.xaml.cs”后面的代碼我有

public partial class App : Application
{
  protected override void OnStartup(StartupEventArgs e)
    {
      base.OnStartup(e);
      WPFProject. MainWIndowView window = new MainWIndowView ();
      MainWIndowViewModel  VM = new MainWIndowViewModel ();
      window.DataContext = VM;
      window.Show();
    }
 }

如果有人能指出我使用 WPF 和 MV-VM 來反映我的問題的好文章或示例代碼,我將不勝感激。

是我將對話框/子 windows 與 mvvm 和 wpf 一起使用的方法。 請注意 sllev 的評論並發布所有相關代碼。

在重新考慮這個問題后,我能夠找出解決方案。 問題的原因:我沒有將 View 與其 ViewModel class 關聯。 所以我把下面的代碼放在 FileListView.xaml.cs 后面的代碼中。

public partial class FileListView: Window
{
  private FileListViewModel  _ fileListViewModel = new FileListViewModel ();
  public FileListViewModel () 
  {
    InitializeComponent();
    base.DataContext = _fileListViewModel; 
  }
}

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM