カスタムグリッド(子クラス)を使用するコントロール(親クラス)を作成しようとしています。グリッドには、[親]コントロールのプロパティ値に基づいてグリッド自体にデータを入力するための一連のコンストラクターとメソッドがあります。
これらのプロパティ値をグリッドで使用できるようにする唯一の方法は、それらを作成することですShared
が、それは私にあらゆる種類の問題を引き起こしています。
要件
- コントロール(親)のプロパティは、グリッド(子)からアクセスできる必要があります。
- コントロールのプロパティは、デザイン時のプロパティエクスプローラーに表示される必要があります。
- グリッドクラスは、親クラスによってのみインスタンス化可能である必要があります。
補足として:あなたの答えが私が子供と親の間でプロパティ/メソッドを前後に共有することを可能にするかどうかを示してください。それは素晴らしいことですが、ただのボーナスです。
ありがとう ;)
編集-私の状況に基づく非常に簡単な例:
Partial Public Class catContent
Inherits System.Web.UI.UserControl
Protected Sub Page_Load(sender, e) Handles Me.Load
Page.Controls.Add(New CategoryResultGrid(category))
End Sub
Private Shared _product As String = String.Empty
Shared Property Product() As String
Get
Return _product
End Get
Set(ByVal value As String)
_product = value.Trim()
End Set
End Property
Private Class CategoryResultGrid
Inherits GridView
Sub New(ByVal category As String)
'How do I access "Product" here without sharing it?
End Sub
End Class
End Class