2008-08-19 17 views
3

ListViewというUserControlを作成しました。 ListViewはプロパティを介して一般にアクセス可能です。私はUserControlをフォームに入れて、ListViewのプロパティを設計しようとすると、ListViewは、コンパイルしてデフォルトの状態に戻すまでそのままの状態を保ちます。.Net UserControlの設計上の問題

ListViewのデザイン変更をスティックするにはどうすればよいですか?

答えて

6

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

これはそれのための出力コードにデザイナーのコードジェネレータを伝えます。

0

ちょっと分かりましたが、このようなことをやったことはありますか?

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

次に、UserControlのMyListViewプロパティに(設計時に)アクセスしていますか?

私は、適切なデザイン時のサポートをしたい場合は、ListView自体(元のUserControlの元に戻って)の "Modifier"プロパティをPublicに変更するほうがよいと思います。 UserControlとにかくそれを成功させました。あなたがそうのように、DesignerSerializationVisibility属性でリストビュープロパティを飾るために必要

1

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

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

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