2011-07-08 6 views
3

Silverlightファイル(xaml)を別のプロジェクトに移動しました。 。Silverlightファイル(xaml)を別のプロジェクトに移動しましたが、コードビハインドでコントロールが認識されません

xaml.csファイルには、私は、名前空間を更新しました

XAMLファイル

のコントロールが表示されませんが、それは解決しません。

私はクラス名を同じに更新しましたが、それでも助けにはなりません。

Intelisenceはコントロールを選択しません。

アイデア?私はcsファイルも削除しようとしましたが、「csファイルを自動再作成する」オプションはありません

ありがとう!

答えて

6

VS2010では、xamlファイルのプロパティをチェックします。そのビルドアクションは "ページ"であり、カスタムツールは "MSBuild:コンパイル"でなければなりません。 xaml内のx:Class要素に、コードビハインドの.xaml.csファイル内の名前空間とクラス名と一致する完全修飾名が含まれていることも確認します。

+0

ビルドアクションを「ページ」に変更しました。カスタムツールは既に "MSBuild:Compile"に設定されていました。私は完全修飾名とクラス名を三重にチェックしましたが、どちらも正しいです。他の提案?私の同僚は、.csファイルが「部分クラス」であるため、別の場所に「共有」ファイルがある可能性があり、編集する必要があると述べました。これは本当ですか? – Kukoy

+1

@Fritos:「共有」ファイルは.g.i.csファイルで、これらの設定が正しいときに自動的に生成されるはずです。どうやってxamlファイルを "移動"しましたか?どんなタイプのプロジェクトをあなたに移しましたか? – AnthonyWJones

+0

xamlファイルをコピーした後、別のプロジェクトに貼り付けました。この.g.i.csファイルにアクセスするにはどうすればよいですか?私はファイルシステムでそれを見ることができません。 – Kukoy

2

XAMLファイルは、基本的に部分クラスを生成します。コードビハインドファイルは、同じ名前の別の部分クラスです。クラスは2つの異なるプロジェクト間で宣言することはできません。これはあなたがやっていることです。

+0

コードビハインドファイル(xaml.cs)はパブリック部分クラスとして設定されています。 xaml.csファイルがないはずですか? – Kukoy

+1

いいえ、xaml.csがある場合は、XAMLと同じプロジェクトになければなりません。 –

+0

同じプロジェクトにあります – Kukoy

0

XAMLファイルとコードビハインドの名前空間/クラス名を確認しましたか? XAMlファイルを別のプロジェクトに移動するときに、コードビハインドファイルの名前空間を変更することをしばしば忘れてしまいました。

+0

うん、確かにそれらの名前をコピーして貼り付けた。 – Kukoy

1

私は同じ問題があります。私は、ビルドアクションがアプリケーション定義に変更されたことを発見しました。それをPageに変更してobjフォルダを削除したら、すべてがOKです。おかげさまで

0

私はWPFプロジェクトで同様の問題があります。

<x:Array Type="sys:String" x:Key="RuleBinaryOperatorList" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <sys:String>AND</sys:String> <sys:String>OR</sys:String> </x:Array>

それが認識されないコンパイル可能とInitializeComponentの文句を言っていない、対応するXAMLファイルを作る:私が気づいたことの一つは、あなたがセクションで、次のようなものを置けばということです。解決策は、そのようなリソースをApp.xaml内のセクションに置くことです。

誰かを助けてくれることを願っています!

関連する問題