Iawfy_ 2021-08-27 17:09 采纳率: 50%
浏览 44
已结题

C#自定义控件属性修改

自定义控件在一个项目中引用多个,修改其中一个的某个属性时,其他所有的引用的这个属性也跟着一起变化


        [Category("2、颜色集合"), Description("设置颜色及其对应文本")]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), MergableProperty(false)]

        public ObservableCollection<MyColorItems> ColorDatas
        {
            get{  return myColorItems;  }
            set
            {
                ObservableCollection<MyColorItems> listt = value;
                myColorItems.Clear();
                foreach (var ii in listt)
                {
                    myColorItems.Add(ii);
                }
            }
        }

        [Serializable]
        public class MyColorItems
        {
            [Description("对应文本"), Browsable(true)]
            public string Name { get; set; }

            [Description("颜色"), Browsable(true)]
            public Color myColor { get; set; }

            public MyColorItems() { }
            public MyColorItems(string name, Color cc)
            {
                Name = name;
                myColor = cc;
            }
        }

这个属性在Collection Changed事件中监听修改
单个只用一个的话能够正常使用,用多个的话只有这个属性会一起变,其他属性正常

  • 写回答

2条回答 默认 最新

  • xuzuning 2021-08-28 09:34
    关注

    难道不对吗?
    控件 是对象,自然是传递引用的
    你应该在需要的地方都实例化一个,而不是传来传去

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月11日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!
  • ¥15 这个如何解决详细步骤