ユーザーコントロールリストプロパティデザイナーエラー

私は自分のユーザーコントロールにList Of Of Bookプロパティを追加したいと思います。 CollectionEditorのBookクラスとBookCollectionEditorクラスを定義しました。また、私はユーザコントロールのBookListという名前のパブリックプロパティを定義しました。カスタムコントロールの場合は正常に動作しますが、ユーザーコントロールではデザイナーは自分のプロパティを表示しません。マークアップでブックアイテムを追加することはできますが、デザイナーにはエラーが表示されます: "タイプ 'System.Web.UI.UserControl'に 'BookList'という名前のパブリックプロパティがありません。

ユーザーコントロールのリストプロパティを定義することはできませんか?

 _
Public Class Book
  Private _name As String
  Private _author As String

  Public Sub New()
    Me.New(String.Empty, String.Empty)
  End Sub

  Public Sub New(ByVal name As String, ByVal author As String)
    _name = name
    _author = author
  End Sub

   _
  Public Property Name() As String
    Get
      Return _name
    End Get
    Set(ByVal value As String)
      _name = value
    End Set
  End Property

   _
  Public Property Author() As String
    Get
      Return _author
    End Get
    Set(ByVal value As String)
      _author = value
    End Set
  End Property
End Class

Public Class BookCollectionEditor
  Inherits CollectionEditor

  Public Sub New(ByVal newType As Type)
    MyBase.new(newType)
  End Sub

  Protected Overrides Function CanSelectMultipleInstances() As Boolean
    Return False
  End Function

  Protected Overrides Function CreateCollectionItemType() As Type
    Return GetType(Book)
  End Function
End Class

Partial Class BooksUserControl
  Inherits System.Web.UI.UserControl

  Private _booklist As New List(Of Book)

   _
  Public ReadOnly Property BookList() As List(Of Book)
    Get
      If _booklist Is Nothing Then
        _booklist = New List(Of Book)()
      End If
      Return _booklist
    End Get
  End Property
End Class

Default.aspx


  
  

2

1 答え

はい、List(Of T)プロパティを定義することは可能です。コードのその部分に問題があるかどうかを確認するには、エディタ設定なしでコードを試してください。

0
追加された
しかし、どのように私はエディタ設定なしでプロパティウィンドウから項目を追加できますか?
追加された 著者 egurer,