2011-07-22 30 views
1

我有一個解決方案與幾個項目相結合。 這是我App.xaml.cs傳遞應用程序作爲參數在WPF

public partial class App : Application 
{ 
    private SiteManager _siteManager = new SiteManager(); 

    public SiteManager SiteManager 
    { 
     get { return _siteManager; } 
     set { _siteManager = value; } 
    } 
} 

我的運行過程中我調用另一個項目在同一個解決方案

SiteDll.MainWindow siteManagerDialog = new SiteDll.MainWindow(); 
siteManagerDialog.Show(); 

,但我不知道如何通過所有增值經銷商在App.xaml.cs到SiteDll.MainWindow siteManagerDialog。

我想:

SiteDll.MainWindow siteManagerDialog = new SiteDll.MainWindow((App)Application.Current); 
siteManagerDialog.Show(); 

然後將其丟在SiteDll.MainWindow構造:

public MainWindow(object me) 
{ 
    Application app = ((App)me); 
    InitializeComponent(); 
} 

,但我得到鑄造錯誤... 什麼是做了正確的方法是什麼?

回答

0

您正在將YourApplication1.App類型轉換爲YourApplication2.App,它們是不同的類型。這就是爲什麼你得到一個無效的轉換異常。

你可以做的是,你可以把你的公共變量放在一個單獨的程序集中,並從你的兩個應用程序中引用這個程序集。


編輯 我也建議你添加一個「WPF用戶控件庫」,然後當您使用WPF來自其他組件窗口/頁/用戶控件,來防止這種混亂引用它。

相關問題