2016-06-22 4 views
2

クラスライブラリ内の自分のクラスから継承するように、Appの基本クラスを変更したいとします。 これは既にこのようです: public partial class App : System.Windows.Applicationです。 今度は public partial class App : MainModule.App に変更します。MainModule.Appはクラスライブラリにあります。私がそれを変更するとApp.g.i.csSystem.Windows.Applicationから継承されているので私に教えてくれません。コンパイル後にApp.g.i.csを変更すると、そのデフォルトに戻ります:System.Windows.Application。 Ap enter code here pクラスが自分のクラスから継承するように強制する方法はありますか?そのMainModule.AppSystem.Windows.Applicationから継承していません。WPFでは、アプリケーションがSystem.Windows.Applicationからクラス定義を継承するように強制します。

+0

あなたは達成したい目標を説明できますか?たぶん、他のソリューションがあなたに合っているかもしれません。 – lokusking

+0

自分のUIを自分のビジネスから切り離したいと思っています。 Appクラスで行う必要のあるタスクがいくつかあります。これらのタスクは、アプリケーションファイルで参照されていないDLLにあります。そのため、私はAppクラスをそのDLLにアクセスできるクラスライブラリに移動しました。 –

答えて

1

私はそれをしました。私は2つの作品をしました: 1- MainModule.AppMainModule.MyAppに変更しました。 2 - 私はにApp.xamlを変更:それは今働いている

<mainModule:MyApp x:Class="FrontOffice.XBAP.App" 
... 
xmlns:mainModule="clr-namespace:MainModule;assembly=MainModule"> 

+2

この理由は、クラス名内の "partial"です。コンパイラが処理したい実際のクラスは、XAMLの部分(実際には 'App.g.i.cs'ファイルに自動的に生成されます)とコードの背後部分の組み合わせです。両方の部分クラスは同じ基本クラスから継承しなければならないか、コンパイラはそれらを単一のクラスに結合することはできません。 – Adwaenyth

+0

これを行うと[プロジェクトプロパティページを開くことができません](http://stackoverflow.com/questions/940644/wpf-inherit-from-system-windows-application)。 –

関連する問題