C#自定义控件默认值属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#自定义控件默认值属性相关的知识,希望对你有一定的参考价值。

我有以下问题:

我已经构建了具有各种属性的自定义控件。为了最简单的UI设计,我想为我的属性添加默认值。这适用于对象,但不适用于颜色。

这是我的财产:

[Browsable(true)]
[Category("Custom Colors")]
[Description("Gets or sets the line color if not focused.")]
//[DefaultValue(typeof(Color), "61, 81, 181")]
//[DefaultValue(typeof(Color), "31, 0, 0, 0")]
public Color LineColor
{
    get { return _lineColor; }
    set { _lineColor = value; }
}

具有三个RGB值“61,81,181”的方法工作正常。但是如何通过四个ARGB值(如“31,0,0,0”)获得相同的结果?

我尝试使用十六进制字符串。这也适用于RGB“0x3d51b5”,但不适用于ARGB“0x1f000000”或“0x0000001f”。

答案

您可以使用默认颜色初始化_lineColor,将LineColor上的默认值设置为_linecolor:

    private Color _lineColor = Color.FromArgb(50, 200, 0, 100);

    public Color LineColor
    {
        get { return _lineColor; }

        set {

            _lineColor = value == Color.Empty ? Color.FromArgb(50, 200, 0, 100): value;
        }

    }

以上是关于C#自定义控件默认值属性的主要内容,如果未能解决你的问题,请参考以下文章

自定义控件如何给特殊类型的属性添加默认值 z(转)

自定义控件中的 Xamarin BindableProperty

WPF 自定义控件将文本框文本重置为默认值

如何在VS2010 WPF设计器中控制自定义控件的默认属性

如何从自定义用户控件 WPF、C# 中的枚举自定义属性中获取值?

为动态创建的 Android 片段提供自定义属性值