首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bindable属性不工作

Bindable属性不工作
EN

Stack Overflow用户
提问于 2015-11-22 18:22:16
回答 1查看 347关注 0票数 3

我已经扩展了标准的TextBox控件以支持填充。它可以工作,只是IDE不会将填充保存到designer类中。

代码:

代码语言:javascript
复制
    [EditorBrowsable(EditorBrowsableState.Always)]
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    [Bindable(true)]
    public new Padding Padding
    {
        get
        {
            return padding;
        }
        set
        {
            padding = value;
            OnPaddingChanged(EventArgs.Empty);
        }
    }

奇怪的是,如果我将属性名更改为MyPadding或其他任何东西,它就会突然起作用。是什么导致了这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-22 18:59:27

当您只是为了更改某些属性而对基类属性进行阴影时,不要使用自己的后备字段,而是使用基属性本身,如下所示

代码语言:javascript
复制
[EditorBrowsable(EditorBrowsableState.Always)]
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Bindable(true)]
public new Padding Padding
{
    get { return base.Padding; }
    set { base.Padding = value; }
}

虽然上面的代码解决了持久性问题,但我不太确定“它工作”是什么意思,因为必须有一个很好的理由在Control类中专门隐藏相应的TextBoxBase属性才能隐藏。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33858403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档