0

VS ドラッグ アンド ドロップ デザイナーで使用されるコンポーネントを作成しています。このコンポーネントのプロパティの 1 つは、プロジェクト内のファイルのパック URI である必要があります。

少し簡単にしたいと思います。PropertyGrid がタイプのプロパティに使用するプロパティ エディター内から、ソリューションを調べ、Uris を構築し、ユーザーが選択できるように提示します。

これは可能ですか?もしそうなら、私はこれをどのように行うべきかについて、いくつかの指針とどこから始めるべきかを得ることができますか?

4

2 に答える 2

1

これはWPFプロジェクト専用のコンポーネントですか?その後、あなたは運がいいかもしれません。これが記事です。http://www.wiredprairie.us/journal/2007/06/pack_syntax_in_wpf.html。または、このMSDNサンプルがhttp://msdn.microsoft.com/en-us/library/aa972152(VS.85).aspxに役立つ場合があります

于 2009-07-01T10:55:23.883 に答える
1

これにはいくつかのピースがあると思います。

1) プロパティに対して独自のタイプ エディタを作成して、プロパティ グリッドを使用してプロパティ値をユーザーに表示する方法を決定できます。

このためには、UITypeEditor から継承するタイプ エディタを次のように作成する必要があります。

public class UriListUIEditor : UITypeEditor
{
       //Override a couple of methods
}

このコードプロジェクトの記事を見て、簡単な例を確認してください。http://www.codeproject.com/KB/edit/flagenumeditor.aspx

次に、プロパティの EditorType 属性を指定します。

   [Editor(typeof(Utils. UriListUIEditor ), 
             typeof(System.Drawing.Design.UITypeEditor))]
    public string Uri 
             { get;set;
             }

2) プロジェクトでソリューションを反復するには、現在の DTE インスタンスを取得します

 var dte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal. GetActiveObject("VisualStudio.DTE.8.0"); 

そして、すべてのプロジェクトを反復処理して、リストや URI などを作成します。理想的には、上記の UriListUIEditor の EditValue メソッド内でこれを行います。

  foreach (var project in dte.Solution.Projects)
        {

        }

お役に立てれば

于 2009-07-04T06:10:33.353 に答える