2012-02-29 4 views
1

私はサードパーティのMVVMフレームワークで作成されたアプリを持っています。私は本質的に同じビューの束を持っているので、私は私のビューと元のフレームワークのビューベースを新しいベースとしてビュー間にカスタムクラスを挿入したい。しかし私がそうするとき、私はエラーを受け取ります"部分宣言の異なる基本クラスを指定してはいけません。"XAMLファイルのC#とVisual Studio 2010で一致する部分クラスを見つけるにはどうすればよいですか?

理想的には、新たに注入されたカスタム基本クラスをベースとして使用するために、他の部分を変更したいと思います。しかし私はそれをどこでも見つけることができません。 F12を使用すると、ベースを新しいベースに変更するとエラーが生成され、元のベースへの参照はないXAMLファイルのみが表示されます。

他の部分クラスはどこですか?私はそれをどのように見つけますか?それとも、私はおそらく最初の場所で完全に間違ったXAMLファイルのための独自の基本クラスを作成するつもりですか?

答えて

0

これはおそらくXAMLそのものです -

XAML(最初のキーワード)の最初の行は、あなたがベースとしているどのタイプ(すなわち:<Windowまたは<UserControl)を定義します。それはおそらくコードの背後にあるファイルだけでなく、あなたの基本クラスに変更する必要があります。

0

私があなたの質問を正しく理解していれば、これは私が以前持っていたものと同様の問題です。

<UserControl x:Class="Your.ExtendedControl" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <!-- other stuff goes here. --> 
</UserControl> 

は、上記のエラーが原因となっていることがあります

あなたの問題は、XAMLファイルがUserControlとして、あなたのコントロールをdeclariingされている可能性があります。 XAMLファイルはそうのように、要素タグとして適切な基本クラスを使用する必要がある:

<YourNamespace:YourBaseClass x:Class="Your.ExtendedControl" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:YourNamespace="clr-namespace:Your.Project.Namespace"> 
    <!-- other stuff goes here --> 
</YourNamespace:YourBaseClass> 
3

私は私のSilverlightプロジェクトの名前空間の名前を変更したときに、私は同じ問題を抱えていたし、私が得た「シンボルを解決できません 『Initialize Component』」に私のxamlコードビハインドファイル:

  1. 問題が発生しているxamlコードビハインド.csファイルを開きます。
  2. に移動します。 - >クラスビュー、クラスビューエクスプローラが開きます。私の場合は
  3. は、私は
  4. が、私は、問題の部分クラスをクリックした後、第2のパネルで以下の
  5. が壊れInitializeComponent方法が登場、変更されなければならなかった名前空間にドリルするために必要な。
  6. ダブルクリックすると、部分クラスが.g.i.csの拡張子で開きます。
関連する問題