gpt4 book ai didi

c# - 可绑定(bind)属性不起作用

转载 作者:行者123 更新时间:2023-11-30 16:51:27 24 4
gpt4 key购买 nike

我已经扩展了标准的 TextBox 控件以支持填充。它有效,除了 IDE 不会将填充持久保存到设计器类中。

代码:

    [EditorBrowsable(EditorBrowsableState.Always)]
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Bindable(true)]
public new Padding Padding
{
get
{
return padding;
}
set
{
padding = value;
OnPaddingChanged(EventArgs.Empty);
}
}

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

最佳答案

当你隐藏一个基类属性只是为了改变一些属性时,不要使用自己的支持字段,而是使用基属性本身,就像这样

[EditorBrowsable(EditorBrowsableState.Always)]
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Bindable(true)]
public new Padding Padding
{
get { return base.Padding; }
set { base.Padding = value; }
}

附言虽然上面的代码解决了持久性问题,但我不太确定“有效”是什么意思,因为相应的 Control 属性在 TextBoxBase 类,以便隐藏。

关于c# - 可绑定(bind)属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com