2016-09-01 5 views
0

私のVSTOアプリケーションレベルの単語addinでは、グリッドをUserControlに追加してレイアウトを一貫させようとしています。VSTO Word Addinでグリッドを使用できません

しかし、グリッドを宣言しようとすると、Visual Studioは型または名前空間 "グリッド"が見つからないと不満を持ちます。このエラーは、PresentationFrameworkアセンブリをプロジェクト参照として追加してSystem.Windows.Controlsをインポートすることで解決しましたが、今はさらに大きな問題があります。Visual Studioでは、 "UserControl"が "System.Windows.Controls.UserControl "と" System.Windows.Forms.UserControl "があります。

私の.csファイルの先頭をチェックして、既定でSystem.Windows.Formsをインポートしていたことが判明しましたが、現在はSystem.Windows.Controlsもインポートされています。

私はVSTOプロジェクトがなぜSystem.Windows.FormsをSystem.Windows.Formsの代わりに読み込むのがデフォルトで、WPFアプリケーションではSystemを使用しているために2つの名前空間の主な違いが何であるのだろうと思います。 Windows.Controls。ありがとうございました!

答えて

1

元のVSTOは、フォームベースのツールセットであり、XAMLベースのUIオプションは後年からのものです。明らかに、System.Windows.Formsを使用してXAMLアプリケーションで参照できるので、XAML参照を追加するときには両方とも存在する場合(あくまでもXAMLとForms MessageBoxのあいまいなインターフェイスを実行する傾向があります)、あいまいな項目があります。あいまいな項目に接頭辞を付けます。

私がしていることは、XAML側でいっぱいになるか、またはフォーム側に移動しようとしていることです。

これまでのやや古い技術であるおそらく、プロジェクトテンプレートは、まずFormsライブラリに基づいていますが、XAMLの世界に完全に移行することは自由です。今日の私のソリューションは完全にXAMLをベースにしていますが、今は毎回フォームに戻っています(たとえば、デモを行うなど)。

これは技術的な選択であり、VSTOは長い時間を経てFormsに移行しています。あなたが好きなら(私は偏っている、私はその技術が大好きです)、Formsテクノロジに固執すれば、新しく輝くXAMLテクノロジを利用できます。両方を使うことができます。

関連する問題