3

を含むUserControlを作成しListViewました。ListViewは、プロパティを介してパブリックにアクセスできます。UserControlをフォームに入れてListView、プロパティを設計しようとするListViewと、再度コンパイルしてデフォルトの状態に戻るまで、その状態が維持されます。

デザインの変更を維持するにはどうすればよいListViewですか?

4

3 に答える 3

6

次のように、ListView プロパティを DesignerSerializationVisibility 属性で装飾する必要があります。

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ListView MyListView { get { return this.listView1; } }

これは、デザイナーのコード ジェネレーターにコードを出力するように指示します。

于 2008-08-19T06:28:41.603 に答える
1

実行時にインスタンス化できるように、デザイナーがプロパティをページに永続化できるようにする必要がある場合、Fredrikは基本的に正しいです。これを行う方法は 1 つしかありません。それは、その値を ASPX ページに書き込むことです。このページは、ランタイムによって取得されます。

そうしないと、コントロールは毎回デフォルトの状態に戻ります。

ページ (およびそのコンテンツ) とコードは ASP.NET では完全に分離されており、実行時に接続されることを常に念頭に置いてください。これは、WinForms アプリ (フォームがオブジェクトのインスタンスである場合) のように、コード ビハインド デザイナーの優れたサポートを得られないことを意味します。

于 2008-08-19T07:25:54.517 に答える
0

はっきり言って、あなたはこのようなことをしましたよね?

public ListView MyListView { get { return this.listView1; } }

では、(設計時に)UserControlのMyListViewプロパティにアクセスしているのでしょうか。

適切な設計時のサポートが必要な場合は、ListView自体の「Modifier」プロパティ(元のUserControlに戻る)をPublicに変更する方がよいと思います。そうすれば、UserControlのインスタンスでListViewを直接変更できます。とにかくそれをすることに成功しました。

于 2008-08-19T04:44:46.087 に答える