Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Design-Time Collection Serialization

Design-Time Collection Serialization

Scheduled Pinned Locked Moved C#
helpgraphicsdesignjsonquestion
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Tyrus182
    wrote on last edited by
    #1

    Hello i am trying to override a listview's Items property i have created a new ListItems method that implements a custom UITypEeditor for ListViewItem allowing my to insert my own type that inherits from ListViewItem called ControlItem now sow far all of this seems to work properly however my problem is that when the designer serialized the newly created item it uses the wrong constructor ControlItem controlItem1 = ((ControlItem)(new System.Windows.Forms.ListViewItem(""))); it is calling the constructor of the base class, is there a way for me to ovveride this behavior and tell it my own type to instantiate? i have tried the DesignerSerializationVisibility attribute but it does not seem to work. here is the definition of the ListItems method //[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] [Editor(typeof(ControlItemCollectionEditor), typeof(System.Drawing.Design.UITypeEditor))] public ListView.ListViewItemCollection ListItems { get { return Items; } } i would appreciate any help that could be provided. thank you.

    P 1 Reply Last reply
    0
    • T Tyrus182

      Hello i am trying to override a listview's Items property i have created a new ListItems method that implements a custom UITypEeditor for ListViewItem allowing my to insert my own type that inherits from ListViewItem called ControlItem now sow far all of this seems to work properly however my problem is that when the designer serialized the newly created item it uses the wrong constructor ControlItem controlItem1 = ((ControlItem)(new System.Windows.Forms.ListViewItem(""))); it is calling the constructor of the base class, is there a way for me to ovveride this behavior and tell it my own type to instantiate? i have tried the DesignerSerializationVisibility attribute but it does not seem to work. here is the definition of the ListItems method //[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] [Editor(typeof(ControlItemCollectionEditor), typeof(System.Drawing.Design.UITypeEditor))] public ListView.ListViewItemCollection ListItems { get { return Items; } } i would appreciate any help that could be provided. thank you.

      P Offline
      P Offline
      Phillip M Hoff
      wrote on last edited by
      #2

      This doesn't really answer your question, but rather than use inheritance to add functionality to the ListView class, why not create a user control that simply consists of a fully-docked ListView? This way, you can expose a Items collection of any type you wish. Admittedly it's more work, but you end up with a better fitting control (rather than simply tacking on new specific behavior to a very generic control). -Phil

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups